【问题标题】:Python: Rotate Block of Text [duplicate]Python:旋转文本块[重复]
【发布时间】:2017-04-27 04:44:07
【问题描述】:

假设我们有以下(但实际上规模更大):

ABCDEF
GHIJKL
MNOPQR

有没有办法将其旋转为如下所示:

FLR
DKQ
DJP
CIO
BHN
AGM

由于是星期一早上,我不知道从哪里开始。谢谢,

JJ

【问题讨论】:

  • 您如何存储输入和输出?矩阵,几个数组?您拥有的一种选择是使用字符的 ASCII 值创建矩阵,然后使用转置运算符获得所需的输出。
  • 我目前正在查看一个文本文件 - 我能想到一种费力的方法(每行正好 75 个字符长),但会查看您的建议
  • 简要:单击链接的问题,然后滚动到 Python 答案。

标签: python python-2.7


【解决方案1】:

这基本上只是将列转换为行。这可以通过zip() 实现:

lines = []
with open('file.txt') as f:
    for line in f:
        lines.append(line.rstrip())

cols = zip(*lines)
for col in list(cols)[::-1]:
    print(''.join(col))

输出:

FLR
EKQ
DJP
CIO
BHN
AGM

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    相关资源
    最近更新 更多