获取列表python的所有有序组合 [英] Get all ordered combinations of list python

查看:19
本文介绍了获取列表python的所有有序组合的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试生成数字列表的所有n项组合,同时保持数字顺序。例如,如果列表

[1,2,3,4]

长度为3的有序组合为:

[1,2,3]
[2,3,4]
[1,2,4]
[1,3,4]

为了清楚起见,我必须保持数字顺序,因此[1,4,2]不是理想的结果。

有没有函数可以做到这一点,或者有没有快速算法可以做到这一点?实际的清单是111个,我会选择100个项目。谢谢。

推荐答案

是否只查找长度为n的给定列表的所有组合?如果是这样的话,您可以只使用itertools中的组合。无论哪种方式,您都可能希望使用itertools。

from itertools import combinations

numbers = [1,2,3,4]
for item in combinations(numbers, 3):
    print sorted(item)

这篇关于获取列表python的所有有序组合的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆