首页 > 解决方案 > python中的两个列表计数

问题描述

我使用 python3.6 我有两个列表,我想用第一个列表零卷来扫描我的数据,如果它有数据,它会添加一个。像这样 :

first list:
['I1', 'I2', 'I3']
['I1', 'I2', 'I5']
['I1', 'I2', 'I4']
['I1', 'I3', 'I5']
['I1', 'I2', 'I3', 'I4']
['I1', 'I2', 'I3', 'I5']
['I1', 'I2', 'I4', 'I5']
['I2', 'I3', 'I4']
['I2', 'I3', 'I5']
['I2', 'I4', 'I5']

第二个清单:

[['I1', 'I2', 'I5'], 
['I2', 'I4'], 
['I2', 'I3'], 
['I1', 'I2', 'I4'], 
['I1', 'I3'], 
['I2', 'I3'], 
['I1', 'I3'], 
['I1', 'I2', 'I3', 'I5'], 
['I1', 'I2', 'I3']]

我用第一个列表扫描第二个列表,它出现在第二个列表中两次,所以计数是两个。

['I1', 'I2', 'I3']:2
['I1', 'I2', 'I5']:2
['I1', 'I2', 'I4']:1
['I1', 'I3', 'I5']:1
['I1', 'I2', 'I3', 'I4']:0
['I1', 'I2', 'I3', 'I5']:1
['I1', 'I2', 'I4', 'I5']:0
['I2', 'I3', 'I4']:0
['I2', 'I3', 'I5']:1
['I2', 'I4', 'I5']:0

我能怎么做?

标签: python-3.xlist

解决方案


考虑到 first_list 可以是 second_list 中项目的子集这一事实:

count = 0
for item in second_list:
    if all(elt in item for elt in first_list):
        count += 1

推荐阅读