首页 > 解决方案 > 使用Python以相同的顺序获取具有元素的列表的所有子列表

问题描述

我的问题如下:

例如,对于长度为 L 的给定列表(L=4):

["a","b","c","d"]

我想在保持元素顺序的同时获得该列表长度为 X 的所有可能的“子列表”。对于 X=2 它会返回我:

["a","b"]
["a","c"]
["a","d"]
["b","c"]
["b","d"]
["c","d"]

我真的不知道如何开始,任何帮助将不胜感激

标签: pythonlist

解决方案


您可以itertools.combinations用于任务:

from itertools import combinations

lst = ["a", "b", "c", "d"]
X = 2

for c in combinations(lst, X):
    print(list(c))

印刷:

['a', 'b']
['a', 'c']
['a', 'd']
['b', 'c']
['b', 'd']
['c', 'd']

推荐阅读