假设我有如下两个列表。我正在比较两个列表的项目,如果列表1的第一个项目存在于列表2的项目中,则用列表2的匹配项目替换列表1的项目,然后从列表2中删除该项目。然后它应该移到list1的第2项,依此类推。我有下面的代码,这是不正确的,但我不能找出方法。两个列表中的项目数可能不相同。你知道吗
list1 = ["abc", "abc", "abc", "xyz", "xyz"]
list2= ["abc123", "abc456", "abc000", "xyz111"]
for i in list1:
for j in list2:
if i in j:
i.replace(i, j)
list2.remove(j)
continue
else:
continue
结果应为:
list1 = ["abc123", "abc456", "abc000", "xyz111", "xyz"]
我会用list comprehension和^{} 来表示:
这会在第一步中保持两个列表之间的索引一致(与
remove
不同),然后清除list2
。你知道吗下面是另一个解决方案:
输出:
执行
for i in list1
操作时,得到的是列表的元素,而不是列表的位置。你知道吗为了正确地工作,你应该在这里做一些类似的事情,并在原地更改列表
相关问题 更多 >
编程相关推荐