首页 > 解决方案 > 从 itertools 排列格式化打印

问题描述

我从这里的一篇旧帖子中了解到,除了首先转换为列表之外,无法打印 itertools.permutations 的结果。这就是我在这里所做的:

import itertools

p = itertools.permutations('ABCD', 2)

print(list(p))

我得到以下输出(在 Jupyter Notebook 中):

[('A', 'B'), ('A', 'C'), ('A', 'D'), ('B', 'A'), ('B', 'C') , ('B', 'D'), ('C', 'A'), ('C', 'B'), ('C', 'D'), ('D', 'A') , ('D', 'B'), ('D', 'C')]

我从 docs.python.org 的 itertools 中获取了原始示例。该页面上的示例部分将输出显示为:

AB AC AD BA BC BD CA CB CD DA DB DC

同一页面实际上并没有解释如何使用 itertools,必须导入模块或如何获取输出,所以我也认为虽然它以方便阅读的格式显示输出,但它不是在代码中生成的,而是就这样排版?

无论哪种方式,有没有办法调整该打印命令以产生与上述相同的格式?

感谢您的意见和建议。

一切顺利。C

标签: pythonprintingformatitertools

解决方案


这是您可以执行的操作:

import itertools

p = itertools.permutations('ABCD', 2)

print(' '.join([a+b for a,b in p]))

输出:

AB AC AD BA BC BD CA CB CD DA DB DC

推荐阅读