我想创建一个列表,其中仅包含原始列表 a 中不在列表 b 中的元素。
我尝试过使用列表理解,但不明白为什么新列表中的数字重复了三次。
a = [3, 6, 7, 9, 11, 14, 15]
b = [2, 6, 7, 10, 12, 15]
c = [x for x in a if x not in b
for y in b if y not in a]
我期望这个结果:
[3, 9, 11, 14]
最佳答案
更简单的方法是使用集合。
set_a = set(a)
set_b = set(b)
c = list(set_a - set_b) #Using set operator difference
c.sort() #If you need to have it in order
关于Python:列表理解,将 2 个列表合并为 1 个具有唯一值的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58491551/