python - 合并 itertools.product 的结果?

标签 python python-itertools

<分区>

我正在尝试使用 itertools.product 创建一个 0-9999 的数字列表。我可以通过执行以下操作从 0000-9999 创建一个列表:

numbers = ['0','1','2','3','4','5','6','7','8','9']
itertools.product(numbers,numbers,numbers,numbers)

虽然我想要像 0001 这样的条目,但我还想得到 001011

包含这些内容的最有效方法是什么?我应该调用 itertools.product(numbers,numbers,numbers)itertools.product(numbers,numbers) 然后以某种方式将它们与原始的结合起来还是有更清洁的方式?

如果我应该打另外两个电话并合并,有人可以告诉我如何完成吗?我试图使用 .append(),但它抛出了这个错误:

'itertools.product' object has no attribute 'append'

感谢您的帮助。

最佳答案

您可以使用嵌套的 listcomp 或 genexp(为了显示目的,此处缩小了大小):

>>> numbers = ['0','1','2']
>>> [''.join(p) for n in range(1,4) for p in product(numbers, repeat=n)]
['0', '1', '2', '00', '01', '02', '10', '11', '12', '20', '21', '22', '000', '001', '002', '010', '011', '012', '020', '021', '022', '100', '101', '102', '110', '111', '112', '120', '121', '122', '200', '201', '202', '210', '211', '212', '220', '221', '222']

关于python - 合并 itertools.product 的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25578774/

相关文章:

python - 第二类不恰当积分

python - 无法在 Windows 中安装 Scipy?

python - 在 Python 中将文档中的所有字母从一个列表转换为另一个列表

python - 如何将 python 列表的所有子集放入 n 个容器中

python - 在 Python 中流式传输嵌套列表(列表列表)中元素的所有无序/随机排列的唯一排列?

python - Bash 脚本到 python 脚本的转换

python - 使用列号中的条件使用 python 和 xlwt 导出到 Excel

python - Python的itertools.count怎么可能不增加?

python - 当用 operator.itemgetter 填充时,itertools.groupby 返回空列表项

python - 查找字符串列表中的差异