python - python有没有办法在没有列表的单词上打印出itertools.permutations?
问题描述
因此,每当我在字符串上运行 itertools.permutations 时,结果如下:
输入代码:
import itertools
import pprint
pprint.pprint(list(itertools.permutations("par")))
我的输出是这个数组:
[('p', 'a', 'r'),
('p', 'r', 'a'),
('a', 'p', 'r'),
('a', 'r', 'p'),
('r', 'p', 'a'),
('r', 'a', 'p')]
这是较大字符串的一个大问题。我需要一种将它们打印为正常外观的方法,例如:
par
pra
apr
arp
rpa
rap
或在列表中,例如
par, pra, apr, arp, rpa, rap
我是编程新手,所以如果有些事情看起来很明显,我的错!
解决方案
使用map
:
>>> list(map(''.join, itertools.permutations("par")))
['par', 'pra', 'apr', 'arp', 'rpa', 'rap']
或列表理解:
>>> [''.join(l) for l in itertools.permutations("par")]
['par', 'pra', 'apr', 'arp', 'rpa', 'rap']
>>>
或者正如@ShadowRanger 提到的,你可以做得更好:
for x in map(''.join, itertools.permutations("par")):
print(x)
输出:
par
pra
apr
arp
rpa
rap
或者还有:
for x, y, z in itertools.permutations("par"):
print(x + y + z)
推荐阅读
- python - 在 Modbus Python 中读取和写入浮点数
- c# - 我如何进行基于角色的授权
- python - 我想在不安装 Visual Studio 19 的情况下安装 dlib
- php - php 变量(在 HTML 表单操作标记内)不会在 while 循环内递增,尽管在表单外递增
- java - Spigot 服务器不断出错
- java - 将 IntelliJ Idea 中的 Java Swing 应用程序打包为独立于平台的应用程序
- javascript - XHR 内更新的文档元素为空
- arrays - 谷歌表格公式加载起来要重得多
- ansible - Ansible selectattr 和带有可选字段的映射
- java - SQS 消息中的 ISO-8859-1 字符集