您好我想知道是否有更好的方式或更pythonic的方式来检查列表的内容而不使用变量。 通常我使用多个索引计数器,它看起来很乱。
list1 = ['foo', 'bar', 'baz']
list2 = ['foo', 'bundy', 'baz']
i = 0
for x in range(0,3):
if list1[i] in list2[i]:
print('In list')
else:
print('Not in list')
i +=1
答案 0 :(得分:2)
检查1个列表的元素是否存在于其他列表中。您可以将它们转换为集合并使用交集和对称差异,如下所示:
>>> list1 = ['foo', 'bar', 'baz']
>>> list2 = ['foo', 'bundy', 'baz']
>>> set(list1).intersection(set(list2))
{'foo', 'baz'}
>>> set(list1).symmetric_difference(set(list2))
{'bar', 'bundy'}
>>> set(list1).difference(set(list2))
{'bar'}
>>> set(list2).difference(set(list1))
{'bundy'}
>>>
Intersection为您提供了两组之间的共同元素。
差异给出了1组中相对于另一组的元素。
对称差异为您提供两组中不常见的元素。
答案 1 :(得分:1)
在Python中你可以这样写:
list1 = ['foo', 'bar', 'baz']
list2 = ['foo', 'bundy', 'baz']
for element in list1:
if element in list2:
print('In list')
else:
print('Not in list')
祝你好运!