Проблема Python со списком (TypeError: объект 'NoneType' не повторяется) - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть список, и я сравниваю его, чтобы проверить, существует ли определенный набор значений в этом списке, и вернуть обратно true или false.

Ниже приведено то, что я пробовал:

l1 = ['apples,oranges,bananas,pears']   <<- list 1
l2 = ['apples,'tomatoes']               <<- list 2
b2 = set(l1).intersection(l2)       <<- comparing the 2 lists

При выполнении вышеизложенного я получаю сообщение об ошибке:

TypeError: 'NoneType' object is not iterable

Я считаю, что приведенная выше ошибка означает, что нет данных, но я знаю, что второй список (l2) действительно имеет значение.Даже если одно значение в списке совпадает, я бы хотел получить флаг True.Может ли кто-нибудь помочь.Спасибо

Ответы [ 2 ]

0 голосов
/ 25 ноября 2018

Создайте свои списки, как показано ниже:

In [369]: l1 = ['apples','oranges','bananas','pears']
In [357]: l2 = ['apples','tomatoes'] 

А затем выполните пересечение:

In [370]: set(l1).intersection(l2)
Out[370]: {'apples'}
0 голосов
/ 25 ноября 2018

Вы забыли кавычки в обоих списках.

l1 = ['apples', 'oranges', 'bananas', 'pears']
l2 = ['apples','tomatoes']
b2 = set(l1).intersection(set(l2))

Чтобы уточнить, что вы сравниваете, в вашем примере это строки «яблоки, апельсины, бананы, груши», «яблоки», 'помидоры' (с одной предоставленной цитатой, иначе это не будет компилироваться).Ясно, что пересечение этих множеств является нулевым множеством.Это то, что вы получаете, IMO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...