У меня есть список как
A = ['loans', 'mercedez', 'bugatti', 'a4', 'trump', 'usa', 'election', 'president', 'galaxy', '7s', 'canon', 'macbook', 'beiber', 'spiderman', 'marvels', 'ironmen']
а также
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)
b not in A
for
вместо цикла for
?
Попробуй это,
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
Использовать set
разницу
print(set(B) - set(A))