当前位置:  开发笔记 > 编程语言 > 正文

在列表python中查找包含0-23中所有值的列表

如何解决《在列表python中查找包含0-23中所有值的列表》经验,为你挑选了1个好方法。

我有一个清单清单。这些列表中的列表如下所示:

[0,2,5,8,7,12,16,18], [0,9,18,23,5,8,15,16], [1,3,4,17,19,6,13,23],
[9,22,21,10,11,20,14,15], [2,8,23,0,7,16,9,15], [0,5,8,7,9,11,20,16]

每个小清单都有0到23之间的8个值,​​并且小清单内没有重复的值。

我现在需要的是存储值0-23的三个列表。可能有几种组合可以完成此操作,但我只需要一个。

在这种情况下,输出为:

[0,2,5,8,7,12,16,18], [1,3,4,17,19,6,13,23], [9,22,21,10,11,20,14,15]

我本想对命令做些事,但我不是python专业人士,所以我很难处理列表中的所有列表(比较所有列表)。

谢谢你的帮助。



1> Martin Evans..:

以下内容似乎起作用:

from itertools import combinations, chain

lol = [[0,2,5,8,7,12,16,18], [0,9,18,23,5,8,15,16], [1,3,4,17,19,6,13,23], [9,22,21,10,11,20,14,15], [2,8,23,0,7,16,9,15], [0,5,8,7,9,11,20,16]]

for p in combinations(lol, 3):
    if len(set((list(chain.from_iterable(p))))) == 24:
        print(p)
        break     # if only one is required

显示以下内容:

([0, 2, 5, 8, 7, 12, 16, 18], [1, 3, 4, 17, 19, 6, 13, 23], [9, 22, 21, 10, 11, 20, 14, 15])

推荐阅读
mobiledu2402852357
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有