【发布时间】:2017-11-02 15:45:55
【问题描述】:
我正在尝试比较三个不同的列表,每个列表的长度可能与其他列表不同,但我不确定如何执行此操作。最初我想只获得最大的列表长度,但后来意识到如果其他列表长度较小,那么它将尝试查找空元素并返回错误。 我正在尝试查找所有列表是否具有共同元素
目前我有:
for i in range(n) //n is largest list length
if (listA[i] in listB) and (listA[i] in listC):
common = True
else:
common = False
如果可能,您能否给出一个可以应用于多个列表而不是仅限于三个列表的答案
【问题讨论】:
-
在 Python 中为 cmets 使用
#...而且你在 for 循环的末尾缺少一个冒号 -
集合比列表更适合这个。集合提供
issubset(<=) 和intersection(&) 等方法。 -
向我们展示一些您将要处理的示例数据
-
@DavidG yeh 很抱歉使用了不同语言的 cmets
-
@Gerhard 我有 3 个来自用户的字符串输入,通过将其转换为列表将其分成单独的字符。然后它检查所有三个字符中的字符。 E.G john, jake, james 会找到 j 并返回 true