python 检查列表中是否存在多个元素

l2osamch  于 2022-12-28  发布在  Python
关注(0)|答案(2)|浏览(268)

我有两个清单:

A = ['1', '2', '3', '4', '5']
B = ['0', '1', '9', '3', '0']

我想检查列表B中的元素是否在A中并返回一个列表,如果是,它应该返回相同的数字,如果不是,它应该返回空字符串'',这是我要找的结果:

C = ['', '1', '', '3', '']

我尝试使用for循环并将结果追加到空列表,但我得到了以下结果:

C = ['', '1', '', '', '', '', '', '', '3', ''...]

它将列表中的元素数加倍,因为它在整个列表中查找第一个数字,然后移动到第二个数字,这是有意义的,因为我使用了for循环,我应该使用什么来返回一个5元素的列表?
先谢谢你了。

h7wcgrx3

h7wcgrx31#

要得到想要的结果,可以使用列表解析来检查B中的每个元素是否在A中,然后根据它是否在A中返回元素或空字符串。

A = ['1', '2', '3', '4', '5']
B = ['0', '1', '9', '3', '0']
C = [b if b in A else '' for b in B]
print(C)

这将是输出:

['', '1', '', '3', '']
3bygqnnd

3bygqnnd2#

要获得所需的输出,只需遍历B并检查A中是否存在该项。如果存在,则将其追加到c中,否则将空字符串追加到c中。

A = ['1', '2', '3', '4', '5']
B = ['0', '1', '9', '3', '0']

c = []
for i in B:
    if i in A:
        c.append(i)
    else:
        c.append('')

print(c)

上面代码的输出
第一个月

相关问题