Python:如何生成给定长度的三个字符的每种可能排列的列表?

标签 python python-2.7 iteration

<分区>

假设我有一个字符串“ABC”

我想遍历 5 个字符长的字符串中字符“A”、“B”和“C”的所有可能性。

期望的输出:

['A', 'A', 'A', 'A', 'A' ]
['A', 'A', 'A', 'A', 'B' ]
...
['C', 'C', 'C', 'C', 'C' ]

我尝试使用 [x for x in itertools.permutations('ABC', r=5)] 但它只返回一个空列表。

最佳答案

你需要itertools.product :

>>> list(product('ABC',repeat=5))
[('A', 'A', 'A', 'A', 'A'), ('A', 'A', 'A', 'A', 'B'), ('A', 'A', 'A', 'A', 'C'), ('A', 'A', 'A', 'B', 'A'), ('A', 'A', 'A', 'B', 'B'), ('A', 'A', 'A', 'B', 'C'), ('A', 'A', 'A', 'C', 'A'), ('A', 'A', 'A', 'C', 'B'), ('A', 'A', 'A', 'C', 'C'), ('A', 'A', 'B', 'A', 'A'), ('A', 'A', 'B', 'A', 'B'), ('A', 'A', 'B', 'A', 'C'), ('A', 'A', 'B', 'B', 'A'), ('A', 'A', 'B', 'B', 'B'), ('A', 'A', 'B', 'B', 'C'), ('A', 'A', 'B', 'C', 'A'), ('A', 'A', 'B', 'C', 'B'), ('A', 'A', 'B', 'C', 'C'), ('A', 'A', 'C', 'A', 'A'), ('A', 'A', 'C', 'A', 'B'), ('A', 'A', 'C', 'A', 'C'), ('A', 'A', 'C', 'B', 'A'), ('A', 'A', 'C', 'B', 'B'), ('A', 'A', 'C', 'B', 'C'), ('A', 'A', 'C', 'C', 'A'), ('A', 'A', 'C', 'C', 'B'), ('A', 'A', 'C', 'C', 'C'), ('A', 'B', 'A', 'A', 'A'), ('A', 'B', 'A', 'A', 'B'), ('A', 'B', 'A', 'A', 'C'), ('A', 'B', 'A', 'B', 'A'), ('A', 'B', 'A', 'B', 'B'), ('A', 'B', 'A', 'B', 'C'), ('A', 'B', 'A', 'C', 'A'), ('A', 'B', 'A', 'C', 'B'), ('A', 'B', 'A', 'C', 'C'), ('A', 'B', 'B', 'A', 'A'), ('A', 'B', 'B', 'A', 'B'), ('A', 'B', 'B', 'A', 'C'), ('A', 'B', 'B', 'B', 'A'), ('A', 'B', 'B', 'B', 'B'), ('A', 'B', 'B', 'B', 'C'), ('A', 'B', 'B', 'C', 'A'), ('A', 'B', 'B', 'C', 'B'), ('A', 'B', 'B', 'C', 'C'), ('A', 'B', 'C', 'A', 'A'), ('A', 'B', 'C', 'A', 'B'), ('A', 'B', 'C', 'A', 'C'), ('A', 'B', 'C', 'B', 'A'), ('A', 'B', 'C', 'B', 'B'), ('A', 'B', 'C', 'B', 'C'), ('A', 'B', 'C', 'C', 'A'), ('A', 'B', 'C', 'C', 'B'), ('A', 'B', 'C', 'C', 'C'), ('A', 'C', 'A', 'A', 'A'), ('A', 'C', 'A', 'A', 'B'), ('A', 'C', 'A', 'A', 'C'), ('A', 'C', 'A', 'B', 'A'), ('A', 'C', 'A', 'B', 'B'), ('A', 'C', 'A', 'B', 'C'), ('A', 'C', 'A', 'C', 'A'), ('A', 'C', 'A', 'C', 'B'), ('A', 'C', 'A', 'C', 'C'), ('A', 'C', 'B', 'A', 'A'), ('A', 'C', 'B', 'A', 'B'), ('A', 'C', 'B', 'A', 'C'), ('A', 'C', 'B', 'B', 'A'), ('A', 'C', 'B', 'B', 'B'), ('A', 'C', 'B', 'B', 'C'), ('A', 'C', 'B', 'C', 'A'), ('A', 'C', 'B', 'C', 'B'), ('A', 'C', 'B', 'C', 'C'), ('A', 'C', 'C', 'A', 'A'), ('A', 'C', 'C', 'A', 'B'), ('A', 'C', 'C', 'A', 'C'), ('A', 'C', 'C', 'B', 'A'), ('A', 'C', 'C', 'B', 'B'), ('A', 'C', 'C', 'B', 'C'), ('A', 'C', 'C', 'C', 'A'), ('A', 'C', 'C', 'C', 'B'), ('A', 'C', 'C', 'C', 'C'), ('B', 'A', 'A', 'A', 'A'), ('B', 'A', 'A', 'A', 'B'), ('B', 'A', 'A', 'A', 'C'), ('B', 'A', 'A', 'B', 'A'), ('B', 'A', 'A', 'B', 'B'), ('B', 'A', 'A', 'B', 'C'), ('B', 'A', 'A', 'C', 'A'), ('B', 'A', 'A', 'C', 'B'), ('B', 'A', 'A', 'C', 'C'), ('B', 'A', 'B', 'A', 'A'), ('B', 'A', 'B', 'A', 'B'), ('B', 'A', 'B', 'A', 'C'), ('B', 'A', 'B', 'B', 'A'), ('B', 'A', 'B', 'B', 'B'), ('B', 'A', 'B', 'B', 'C'), ('B', 'A', 'B', 'C', 'A'), ('B', 'A', 'B', 'C', 'B'), ('B', 'A', 'B', 'C', 'C'), ('B', 'A', 'C', 'A', 'A'), ('B', 'A', 'C', 'A', 'B'), ('B', 'A', 'C', 'A', 'C'), ('B', 'A', 'C', 'B', 'A'), ('B', 'A', 'C', 'B', 'B'), ('B', 'A', 'C', 'B', 'C'), ('B', 'A', 'C', 'C', 'A'), ('B', 'A', 'C', 'C', 'B'), ('B', 'A', 'C', 'C', 'C'), ('B', 'B', 'A', 'A', 'A'), ('B', 'B', 'A', 'A', 'B'), ('B', 'B', 'A', 'A', 'C'), ('B', 'B', 'A', 'B', 'A'), ('B', 'B', 'A', 'B', 'B'), ('B', 'B', 'A', 'B', 'C'), ('B', 'B', 'A', 'C', 'A'), ('B', 'B', 'A', 'C', 'B'), ('B', 'B', 'A', 'C', 'C'), ('B', 'B', 'B', 'A', 'A'), ('B', 'B', 'B', 'A', 'B'), ('B', 'B', 'B', 'A', 'C'), ('B', 'B', 'B', 'B', 'A'), ('B', 'B', 'B', 'B', 'B'), ('B', 'B', 'B', 'B', 'C'), ('B', 'B', 'B', 'C', 'A'), ('B', 'B', 'B', 'C', 'B'), ('B', 'B', 'B', 'C', 'C'), ('B', 'B', 'C', 'A', 'A'), ('B', 'B', 'C', 'A', 'B'), ('B', 'B', 'C', 'A', 'C'), ('B', 'B', 'C', 'B', 'A'), ('B', 'B', 'C', 'B', 'B'), ('B', 'B', 'C', 'B', 'C'), ('B', 'B', 'C', 'C', 'A'), ('B', 'B', 'C', 'C', 'B'), ('B', 'B', 'C', 'C', 'C'), ('B', 'C', 'A', 'A', 'A'), ('B', 'C', 'A', 'A', 'B'), ('B', 'C', 'A', 'A', 'C'), ('B', 'C', 'A', 'B', 'A'), ('B', 'C', 'A', 'B', 'B'), ('B', 'C', 'A', 'B', 'C'), ('B', 'C', 'A', 'C', 'A'), ('B', 'C', 'A', 'C', 'B'), ('B', 'C', 'A', 'C', 'C'), ('B', 'C', 'B', 'A', 'A'), ('B', 'C', 'B', 'A', 'B'), ('B', 'C', 'B', 'A', 'C'), ('B', 'C', 'B', 'B', 'A'), ('B', 'C', 'B', 'B', 'B'), ('B', 'C', 'B', 'B', 'C'), ('B', 'C', 'B', 'C', 'A'), ('B', 'C', 'B', 'C', 'B'), ('B', 'C', 'B', 'C', 'C'), ('B', 'C', 'C', 'A', 'A'), ('B', 'C', 'C', 'A', 'B'), ('B', 'C', 'C', 'A', 'C'), ('B', 'C', 'C', 'B', 'A'), ('B', 'C', 'C', 'B', 'B'), ('B', 'C', 'C', 'B', 'C'), ('B', 'C', 'C', 'C', 'A'), ('B', 'C', 'C', 'C', 'B'), ('B', 'C', 'C', 'C', 'C'), ('C', 'A', 'A', 'A', 'A'), ('C', 'A', 'A', 'A', 'B'), ('C', 'A', 'A', 'A', 'C'), ('C', 'A', 'A', 'B', 'A'), ('C', 'A', 'A', 'B', 'B'), ('C', 'A', 'A', 'B', 'C'), ('C', 'A', 'A', 'C', 'A'), ('C', 'A', 'A', 'C', 'B'), ('C', 'A', 'A', 'C', 'C'), ('C', 'A', 'B', 'A', 'A'), ('C', 'A', 'B', 'A', 'B'), ('C', 'A', 'B', 'A', 'C'), ('C', 'A', 'B', 'B', 'A'), ('C', 'A', 'B', 'B', 'B'), ('C', 'A', 'B', 'B', 'C'), ('C', 'A', 'B', 'C', 'A'), ('C', 'A', 'B', 'C', 'B'), ('C', 'A', 'B', 'C', 'C'), ('C', 'A', 'C', 'A', 'A'), ('C', 'A', 'C', 'A', 'B'), ('C', 'A', 'C', 'A', 'C'), ('C', 'A', 'C', 'B', 'A'), ('C', 'A', 'C', 'B', 'B'), ('C', 'A', 'C', 'B', 'C'), ('C', 'A', 'C', 'C', 'A'), ('C', 'A', 'C', 'C', 'B'), ('C', 'A', 'C', 'C', 'C'), ('C', 'B', 'A', 'A', 'A'), ('C', 'B', 'A', 'A', 'B'), ('C', 'B', 'A', 'A', 'C'), ('C', 'B', 'A', 'B', 'A'), ('C', 'B', 'A', 'B', 'B'), ('C', 'B', 'A', 'B', 'C'), ('C', 'B', 'A', 'C', 'A'), ('C', 'B', 'A', 'C', 'B'), ('C', 'B', 'A', 'C', 'C'), ('C', 'B', 'B', 'A', 'A'), ('C', 'B', 'B', 'A', 'B'), ('C', 'B', 'B', 'A', 'C'), ('C', 'B', 'B', 'B', 'A'), ('C', 'B', 'B', 'B', 'B'), ('C', 'B', 'B', 'B', 'C'), ('C', 'B', 'B', 'C', 'A'), ('C', 'B', 'B', 'C', 'B'), ('C', 'B', 'B', 'C', 'C'), ('C', 'B', 'C', 'A', 'A'), ('C', 'B', 'C', 'A', 'B'), ('C', 'B', 'C', 'A', 'C'), ('C', 'B', 'C', 'B', 'A'), ('C', 'B', 'C', 'B', 'B'), ('C', 'B', 'C', 'B', 'C'), ('C', 'B', 'C', 'C', 'A'), ('C', 'B', 'C', 'C', 'B'), ('C', 'B', 'C', 'C', 'C'), ('C', 'C', 'A', 'A', 'A'), ('C', 'C', 'A', 'A', 'B'), ('C', 'C', 'A', 'A', 'C'), ('C', 'C', 'A', 'B', 'A'), ('C', 'C', 'A', 'B', 'B'), ('C', 'C', 'A', 'B', 'C'), ('C', 'C', 'A', 'C', 'A'), ('C', 'C', 'A', 'C', 'B'), ('C', 'C', 'A', 'C', 'C'), ('C', 'C', 'B', 'A', 'A'), ('C', 'C', 'B', 'A', 'B'), ('C', 'C', 'B', 'A', 'C'), ('C', 'C', 'B', 'B', 'A'), ('C', 'C', 'B', 'B', 'B'), ('C', 'C', 'B', 'B', 'C'), ('C', 'C', 'B', 'C', 'A'), ('C', 'C', 'B', 'C', 'B'), ('C', 'C', 'B', 'C', 'C'), ('C', 'C', 'C', 'A', 'A'), ('C', 'C', 'C', 'A', 'B'), ('C', 'C', 'C', 'A', 'C'), ('C', 'C', 'C', 'B', 'A'), ('C', 'C', 'C', 'B', 'B'), ('C', 'C', 'C', 'B', 'C'), ('C', 'C', 'C', 'C', 'A'), ('C', 'C', 'C', 'C', 'B'), ('C', 'C', 'C', 'C', 'C')]

关于Python:如何生成给定长度的三个字符的每种可能排列的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31592065/

相关文章:

python - pandas 数据透视表,其值来自两个不重叠的列

python - 从列表中拆分并提取特定项目

python - 使用python从文本文件中获取行的交集

c - 有没有办法循环使用 C 中的四个基本操作?

python - 如何在不导入所有内容的情况下触发函数?

python - 如何在python中绘制一条线,每个数据点都有一个间隔

python - 以 JSON 格式获取 Tweepy 搜索结果

python - python 中的 Euler–Rodrigues 公式未返回预期的旋转值

list - 更优雅的更新列表片段的方法

java - 为什么迭代中没有捕获加法的结果?