在Python中,我试图同时从两个列表中删除重复项,而不是单独删除。例如,如果一个列表a
有[1,2,3]
,另一个列表b
有[4,5,6,2]
,那么a
的输出应该保持不变,但b
应该更改为[4,5,6]
,删除[2]
,并将其识别为两个列表中的重复元素。
首先,我的问题有效吗?
不管列表的长度和索引的数量。我一直在很多但是找不到一个合适的解决方案。我尝试的其中一个代码是使用朴素贝叶斯方法,但对于一个列表,我无法得到所需的输出:
a = [1,2,3,4,5]
b= [6,7,8,4,3,1]
print(a)
print(b)
b= []
for i in a:
if i not in b:
b.append(i)
print("New a:", a)
print("New b:", b)
# Like if one list "a" has [1,2,3] and another list "b"
# has [4,5,6,2] then the output of "a" should remain the same
# but "b" should be changed to [4,5,6]
a=[1,2,3]
b=[4,5,6,2]
b=[x for x in b if x not in a]
print(f"{a=}n{b=}")
>>>a=[1, 2, 3]
>>>b=[4, 5, 6]