我有两个列表:a = ['5', '2', '3', '4']
,和b = ['1', '6', '7', '5']
。使用Python2,如何比较a
中的每个列表元素与{}中的每个元素?(即is a[0] == b[0]
,isa[0] == b[1]
,等等)。在
我知道我可以写出大量的if
语句,但我希望有一种更优雅的方法来实现这一点。在
在检查了每个列表元素之后,我想知道找到共享值的次数(在上面的示例列表中,是一次,'5'
)。在
编辑:这不是一个重复,b/c我正在比较两个不同的列表,而可能的重复只处理一个列表。在
Tags:
如果只关心共享值,而不关心它们的位置或计数,请将它们转换为} :
set
并使用^{如果要保留元素在交集中出现的频率,还可以使用} 的交集
^{pr2}$&
来进行^{注意:这与@gingerplus的解决方案不同,因为它是对称的,即如果}。在
5
在列表a
中出现一次,在列表b
中出现两次,那么共享计数将是1
,而不是{list
的^{对于大输入,可能比eugene y's更快,因为它只需要在
b
上迭代一次,代替
len(a)
次:相关问题 更多 >
编程相关推荐