我有一个列表,我正在进行比较,以检查列表中是否存在某组值,并返回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标志。有人能帮忙吗?谢谢
3条答案
按热度按时间g0czyy6m1#
创建如下列表:
然后做交集:
fslejnso2#
你忘了引用,在两个列表中。
详细地说,在你的例子中,你所比较的是字符串'apple,oranges,bananas,pears','apples','tomato'(只提供了一个引号,否则它将无法编译)。很明显,这些集合的交集是一个空集合。这就是你所得到的,imo。
wlsrxk513#
当你的列表是不可迭代的时候就会发生这个错误。也就是说当你有一个空列表并且使用for循环来迭代它的时候。有很多方法可以处理这个错误,但是,最好的解决方法是
但在你的例子中,这是一个人为错误,没有在单词/句子结束后使用引号。
这应该可以了。:)