迭代列出两个 for 循环中的元素



我有一个列表

A= ["贷款", "梅塞德斯", "布加迪", "A4", "特朗普", "美国",

"选举", "总统"、"银河"、"7s"、"佳能"、"Macbook"、"Beiber", "蜘蛛侠"、"奇迹"、"铁人"]

B=['贷款','网络','华盛顿','特朗普','

佳能','伦敦']

当我做某事时,为了从B那里获得不存在的单词 列表A

for i in A:
for j in B:
if j not in i:
print (j)

它给出循环循环为:-

network
washington
trump
canon
london
loans
network
washington
trump
canon
london
loans
network
washington
trump
canon
london
loans
network
washington
trump
canon
london
.......
.......
.......

为什么会这样?我想要返回的一切

network
washington
london
for i in B:
if i not in A:
print (i)

利用not in方法:

not_in_list = [b for b in B if b not in A]
for n in not_in_list:
print(n)

为了更清楚起见,如果按如下方式编写,您的原始代码将起作用:

for b in B:
unique = True
for a in A:
if b == a:
unique = False
break
if unique == True:
print(b)

使用set区别

print(set(B) - set(A))

试试这个,

A = ['loans', 'mercedez', 'bugatti', 'a4', 'trump', 'usa', 'election', 'president', 'galaxy', '7s', 'canon', 'macbook', 'beiber', 'spiderman', 'marvels', 'ironmen']
B = ['loans', 'network', 'washington', 'trump', 'canon', 'london']
print('n'.join([i for i in B if i not in A]))

输出:

network
washington
london

最新更新