【发布时间】:2021-09-27 03:44:28
【问题描述】:
我想知道一种简单且 Python 的方法来获取所有长度为 n 的字符串,这些字符串由名为 L 的列表中包含的字符组成。
例如:
L = ['0','1']
n = 3
我如何获得:
['000','001','010','011','100','101','110','111']
一个可能的解决方案是使用itertools.product。它可以工作,但不是很优雅,所以我正在寻找一个更 Pythonic 的解决方案。
它是这样的:
L = ['0','1']
n = 3
a = [L for i in range(0,n)]
x = list(itertools.product(*a))
x = ["".join(i) for i in x]
结果列表如下所示:
>>> x
['000', '001', '010', '011', '100', '101', '110', '111']
有没有像all_possible_strings(L, n) 这样的内置东西,它获取L 中的元素并获得所有可能的长度n 与这些元素的组合?
【问题讨论】:
标签: python-3.x list character combinations permutation