【发布时间】:2022-12-31 23:25:56
【问题描述】:
我有 3 个列表:
A = [32, 33, 54, 66, 67]
B = [33, 4, 67]
C = [A, B, C]
我想做的是我想检查列表 A 中的每个元素是否都在 B 中,那么它应该按顺序将 C 中的一个元素附加到列表 D 中,如果不是,那么它应该附加一个空字符串,这是我正在寻找的结果:
D = ['', A, '', '', B]
这是我写的,但是我在 A 在 B 中的每个位置都得到了其中所有元素的嵌套列表 C,所以我还应该循环 C 中的每个元素,你能告诉我我该怎么做吗?
D = []
for a in A:
if a in B:
D.append(C)
else:
D.append('')
result: D = ['', [A, B, C], '', '', [A, B, C]]
太感谢了
【问题讨论】:
-
但根据你的描述,预期的输出应该是
['', 'A', '', '', 'C'] -
这是一个非常混乱的描述。首先,如果
A、B和C是变量,那么C = [A, B, C]将不起作用。其次,如果列表C很短(比匹配数少)会怎样?“...按顺序从 C 追加一个元素...”更详细地描述这一点。 -
列表
B和C是否具有相同数量的元素?那有保证吗?
标签: python list for-loop append