【发布时间】:2016-11-05 13:16:00
【问题描述】:
给定一个列表,如何获得两个非连续项目之间的所有组合?
例如,对于输入[1, 2, 3, 4, 5],我怎样才能得到输出[(1,3), (1,4), (1,5), (2,4), (2,5), (3,5)]?
我对@987654324@、(2,3)、(3,4) 或(4,5) 不感兴趣,因为它们在列表中是连续的(即彼此相邻),但我感兴趣的其他所有内容。
在 Python 中最惯用的方法是什么?
【问题讨论】:
-
consecutive表示在列表中彼此相邻或在自然数中紧随其后的数字? -
@thefourtheye 感谢您的帮助。连续我的意思是在列表中彼此相邻。该列表甚至可能不是数字,我只是认为它更容易可视化。我会在问题中添加一些内容以澄清它。
-
查看
itertools并选择您需要的功能:docs.python.org/2/library/itertools.html 您可能需要过滤它们。
标签: python list combinations