【发布时间】:2021-08-08 22:47:11
【问题描述】:
我的问题如下:
对于给定的长度为 L 的列表 例如(L=4):
["a","b","c","d"]
我想在保持元素顺序的同时获得该列表的所有可能长度为 X 的“子列表”。 对于 X=2,它会返回我:
["a","b"]
["a","c"]
["a","d"]
["b","c"]
["b","d"]
["c","d"]
我真的不知道如何开始,任何帮助将不胜感激
【问题讨论】:
我的问题如下:
对于给定的长度为 L 的列表 例如(L=4):
["a","b","c","d"]
我想在保持元素顺序的同时获得该列表的所有可能长度为 X 的“子列表”。 对于 X=2,它会返回我:
["a","b"]
["a","c"]
["a","d"]
["b","c"]
["b","d"]
["c","d"]
我真的不知道如何开始,任何帮助将不胜感激
【问题讨论】:
您可以使用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']
【讨论】: