簡體   English   中英

在列表列表中查找最常見的列表

[英]Finding the most common list in list of lists

我有一個列表列表,我希望在每個列表中找到最常見的列表,如果有多種模式,那么我希望找到所有這些模式。 這聽起來有點復雜,所以我將提供示例。

我擁有的列表列表是:

My_List = [[], [[98, 362, 406, 719]], [], [], [[1118, 189, 1201, 338], [1118, 189, 1201, 338], [1118, 189, 1201, 338], [629, 86, 727, 209], [629, 86, 727, 209]], [], [[537, 18, 681, 202], [339, 177, 508, 372]]]

我想要的輸出是:

New_List = [[], [[98, 362, 406, 719]], [], [], [[1118, 189, 1201, 338]], [], [[537, 18, 681, 202], [339, 177, 508, 372]]]

非常感謝任何幫助,提前感謝您的寶貴時間!

它將與Counter和類似的解決方案一起使用,但隨后將每個內部列表轉換為一個元組,因此它是可散列的。 然后獲取最頻繁的結果(使用Counter可以使用most_common ),並將該結果轉換回列表:

from collections import Counter

result = [
    [list(el) for el, freq in Counter(map(tuple, lst)).most_common(1)]
    for lst in My_List
]
{'a': '#', 'Y': 'z', '.': '1', 'Q': 'K', 'i': 'w', 'g': 'j', 'P': '/', 'v': 'B', '<': 's', '2': 'E', 'n': 'M', 'G': 'e', 'H': 'U', '9': 'g', 's': '7', '3': 'S',  '(': '[', 'X': 'D', 'E': 'X', 'h': 'N', 'C': 'W', 'R': 'v', '>': 'I', '*': 'x', ',': 'd', '-': 'o', 'w': 'r', 'o': 'q', 'D': '9', '@': '_', 'U': ':', 'x': '+', '!': '%', 'I': '(', '0': '}', 'z': 'H', ' ': '$', '1': ';', 'W': 'Z', '5': 'G', 'r': 'n', 'q': '4', 'N': '3', 'l': ',', '%': ' ', '7': 'm', 'p': 'A', '_': '{', '=': 'P', 'f': 'f', 't': 'Y', '$': '5', '/': 'l', 'B': '!', 'e': 'R', ')': '=', 'O': '<', 'y': '-', '[': 'F', 'Z': '8', 'c': '0', 'K': 'y', ':': 'O', ';': '@', '#': 'i', "'": 'a', 'A': '6', '6': 'V', ']': "'", 'T': 'Q', 'k': 'u', 'M': 'h', 'S': 'C', '4': 't', 'F': ']', 'V': '2', 'L': '>', 'm': 'c', 'd': 'b', '+': 'L', 'j': '*', '8': ')', 'b': 'k', 'u': 'T', '{': 'p', '}': '.'}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM