Итерация списков элементов в двух циклах for - PullRequest
0 голосов
/ 15 октября 2018

У меня есть список как

A = ['займы', 'mercedez', 'bugatti', 'a4', 'козырь', 'сша', 'выборы', 'президент',' galaxy ',' 7s ',' canon ',' macbook ',' beiber ',' человек-паук ',' 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

Ответы [ 4 ]

0 голосов
/ 16 июля 2019

Попробуйте,

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
0 голосов
/ 15 октября 2018

Используйте метод 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)
0 голосов
/ 15 октября 2018

Использование set Разница

print(set(B) - set(A))
0 голосов
/ 15 октября 2018
for i in B:
    if i not in A:
        print (i)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...