计算 Python 中另一个列表中每个嵌套列表的出现次数
Count the occurrence per nested list in another list in Python
我正在努力获得我想要的输出。我有两个列表,如下所示:
h3_FP_DB = [['KE', 'EH', 'LA'], ['KE', 'EH'], ['KE'], ['EH'], ['KE', 'EH']]
h3_FP = [['KE'], ['KE', 'LA'], ['KE', 'EH', 'LA'], ['KE', 'EH'], ['LA'], ['LA', 'EH'], ['EH']]
我想知道列表 h3_FP_DB 中 h3_FP 中每个嵌套列表的出现情况。所以使用上面的例子我想要的输出会给出下面的计数。不知道哪个type/structure有好处:
KE: 4
KE, LA: 1
KE, EH, LA: 1
KE, EH: 3
LA: 4
LA, EH: 1
EH: 4
使用 this 示例中的代码,我编写了以下代码:
h3_FP_Occurence = []
for i in range(len(h3_FP)):
count = len([i for idx in range(len(h3_DB_FP)) if h3_DB_FP[idx : idx + len(i)] == i])
h3_DB_FP.append(count)
这给了我以下错误
TypeError: object of type 'int' has no len()
我在 Stack overflow 和网络上进行了广泛的查看,但我找不到任何东西。知道如何计算主列表中嵌套列表的出现次数吗?
您可以使用嵌套的 dictionary/list 理解来检查 h3_FP
中每个列表中的每个值是否在 h3_FP_DB
中的每个列表中,并将结果输出到字典列表中:
h3_FP_Occurence = [{ ', '.join(l): sum(all(v in hl for v in l) for hl in h3_FP_DB) } for l in h3_FP]
输出:
[
{'KE': 4},
{'KE, LA': 1},
{'KE, EH, LA': 1},
{'KE, EH': 3},
{'LA': 1},
{'LA, EH': 1},
{'EH': 4}
]
我正在努力获得我想要的输出。我有两个列表,如下所示:
h3_FP_DB = [['KE', 'EH', 'LA'], ['KE', 'EH'], ['KE'], ['EH'], ['KE', 'EH']]
h3_FP = [['KE'], ['KE', 'LA'], ['KE', 'EH', 'LA'], ['KE', 'EH'], ['LA'], ['LA', 'EH'], ['EH']]
我想知道列表 h3_FP_DB 中 h3_FP 中每个嵌套列表的出现情况。所以使用上面的例子我想要的输出会给出下面的计数。不知道哪个type/structure有好处:
KE: 4
KE, LA: 1
KE, EH, LA: 1
KE, EH: 3
LA: 4
LA, EH: 1
EH: 4
使用 this 示例中的代码,我编写了以下代码:
h3_FP_Occurence = []
for i in range(len(h3_FP)):
count = len([i for idx in range(len(h3_DB_FP)) if h3_DB_FP[idx : idx + len(i)] == i])
h3_DB_FP.append(count)
这给了我以下错误
TypeError: object of type 'int' has no len()
我在 Stack overflow 和网络上进行了广泛的查看,但我找不到任何东西。知道如何计算主列表中嵌套列表的出现次数吗?
您可以使用嵌套的 dictionary/list 理解来检查 h3_FP
中每个列表中的每个值是否在 h3_FP_DB
中的每个列表中,并将结果输出到字典列表中:
h3_FP_Occurence = [{ ', '.join(l): sum(all(v in hl for v in l) for hl in h3_FP_DB) } for l in h3_FP]
输出:
[
{'KE': 4},
{'KE, LA': 1},
{'KE, EH, LA': 1},
{'KE, EH': 3},
{'LA': 1},
{'LA, EH': 1},
{'EH': 4}
]