我有两个清单:
A = ['1', '2', '3', '4', '5']
B = ['0', '1', '9', '3', '0']
我想检查列表B中的元素是否在A中并返回一个列表,如果是,它应该返回相同的数字,如果不是,它应该返回空字符串'',这是我要找的结果:
C = ['', '1', '', '3', '']
我尝试使用for循环并将结果追加到空列表,但我得到了以下结果:
C = ['', '1', '', '', '', '', '', '', '3', ''...]
它将列表中的元素数加倍,因为它在整个列表中查找第一个数字,然后移动到第二个数字,这是有意义的,因为我使用了for循环,我应该使用什么来返回一个5元素的列表?
先谢谢你了。
2条答案
按热度按时间h7wcgrx31#
要得到想要的结果,可以使用列表解析来检查B中的每个元素是否在A中,然后根据它是否在A中返回元素或空字符串。
这将是输出:
3bygqnnd2#
要获得所需的输出,只需遍历B并检查A中是否存在该项。如果存在,则将其追加到c中,否则将空字符串追加到c中。
上面代码的输出
第一个月