Skip to main content
 首页 » 编程设计

python之计算两个列表中数字的出现次数并返回一个列表

2025年05月04日18langtianya

我正在尝试计算 0 在两个列表中一起出现的次数,并使用 python 保存该数字。我正在尝试使用“列表理解”命令将它放入第三个列表,但我没有得到我想要的输出。

我的两个列表是:

list1 = [0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1] 
list2 = [0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0] 

因此,无论何时在每个列表中的相同位置出现 0,我都想将“0”附加到新列表中。我想对它们做同样的事情。

新列表应该是这样的:

newlist = [0,1,1,1,1,0,1,1,1,1,0,1,1,1,0,1,1,1] 

提前感谢您的帮助,我已经尝试弄清楚如何执行此操作几个小时了,现在无济于事!

请您参考如下方法:

您可以像这样使用列表推导式:

answer = [x for x, y in zip(list1, list2) if x == y] 

或者,您可以使用简单的列表操作不解决它:

answer = [] 
for x, y in zip(list1, list2): 
    if x == y: 
        answer.append(x) 

在这两种情况下,答案将是:

[0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1]