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

1 python list-comprehension list

我试图计算两个列表中出现0的次数,并使用python保存该数字.我试图使用'list comprehension'命令将它放入第三个列表,但我没有得到我想要的输出.

我的两个清单是:

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]
Run Code Online (Sandbox Code Playgroud)

因此,每当在每个列表的相同位置出现0时,我想将"0"附加到新列表中.我想对那些做同样的事情.

新列表应如下所示:

newlist = [0,1,1,1,1,0,1,1,1,1,0,1,1,1,0,1,1,1]
Run Code Online (Sandbox Code Playgroud)

在此先感谢您的帮助,我一直在努力弄清楚如何在几个小时内做到这一点无济于事!

Ósc*_*pez 5

您可以使用列表推导,如下所示:

answer = [x for x, y in zip(list1, list2) if x == y]
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用简单的列表操作在没有列表推导的情况下解决它:

answer = []
for x, y in zip(list1, list2):
    if x == y:
        answer.append(x)
Run Code Online (Sandbox Code Playgroud)

在这两种情况下,answer将是:

[0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1]
Run Code Online (Sandbox Code Playgroud)