首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在列表对象列表中,如何将每个列表对象与所有其他列表对象进行比较?

在列表对象列表中,如何将每个列表对象与所有其他列表对象进行比较?
EN

Stack Overflow用户
提问于 2019-08-14 14:27:26
回答 1查看 283关注 0票数 0

我有一个包含多个列表对象的列表,我希望将每个内部列表与外部list对象中的所有其他内部列表进行比较,如果找到匹配,则打印出来。

我已经尝试过循环遍历列表中的每个对象,并将其与所有其他对象进行比较,但我总是匹配我开始使用的对象。

我的示例列表如下:

代码语言:javascript
复制
list_of_lists = [
    [1, 11, 17, 21, 33, 34],
    [4, 6, 10, 18, 22, 25],
    [1, 15, 20, 22, 23, 31],
    [3, 5, 7, 18, 23, 27],
    [3, 22, 24, 25, 28, 37],
    [7, 11, 12, 25, 28, 31],
    [1, 11, 17, 21, 33, 34],
    ...
]

注意,list_of_lists[0]list_of_lists[6]匹配,我希望在本例中与之匹配。

预期的结果是一个循环,它遍历每个list对象,并将其与所有其他对象进行比较,如果有匹配,则将其打印出来。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-08-14 15:46:59

你可以这样做:

代码语言:javascript
复制
list_of_lists = [
    [1, 11, 17, 21, 33, 34],
    [4, 6, 10, 18, 22, 25],
    [1, 15, 20, 22, 23, 31],
    [3, 5, 7, 18, 23, 27],
    [3, 22, 24, 25, 28, 37],
    [7, 11, 12, 25, 28, 31],
    [1, 11, 17, 21, 33, 34],
]

for i in range(len(list_of_lists)):
    for j in range(len(list_of_lists)):
        # If you're checking the row against itself, skip it.
        if i == j:
            break
        # Otherwise, if two different lists are matching, print it out.
        if list_of_lists[i] == list_of_lists[j]:
            print(list_of_lists[i])

这一产出如下:

代码语言:javascript
复制
[1, 11, 17, 21, 33, 34]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57496679

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档