繁体   English   中英

Python stdin,readlines。 更改输出顺序

[英]Python stdin, readlines. change output order

我正在Mac电脑上工作,对python的外观有疑问。 我正在使用一个名为rectangle.txt的.txt文件,并且在文件内部看起来像这样:

abcde
fghij
klmno

我需要在使用stdin时阅读这些内容。 但这是我的程序需要执行的操作:

afk
bgl
chm
din
ejo

到目前为止,我有一个程序可以读取所有行并将其拆分并打印出来。 代码已编辑

So when I changed my code to this:

for line in sys.stdin.readline():
    ls1 = line
    print ls1

我收到了清单:

a
b
c
d
e

所以现在我只需要遍历其他那些,但我无法弄清楚

我从命令行运行此功能:

python rectangle.py < rectangle.txt

我正在尝试学习所有这些内容,因此,我希望有人能以一种我希望能够理解的方式,而不是给我答案,而是希望向我解释一下。

此外,除了此.txt文件输入。 我的程序还将通过以下输入进行测试:

123
456
789

A
B
C

所有人都做与上述相同的事情。 再次感谢您对我的帮助。 我已经为此工作了几个小时,似乎无法弄清楚。

值得信赖的zip功能可以帮助您:

>>> lines = ["abc", "def", "ghi"]
>>> result = [''.join(x) for x in zip(*lines)]
>>> result
['adg', 'beh', 'cfi']

说明: zip完全符合您的期望-将每个给定的iterable中的一个元素聚合到一个新列表中。 我们必须分别传递可迭代的zip文件,而不是*lines所做的列表。 最后,我们只是将单个字符数组连接在一起,因为我们需要一个字符串数组而不是一个字符数组。

我假设每行中的输入必须具有相同的长度。

在这种情况下,具有输入字符串列表以及这些字符串之一循环的长度。

[“ abcde”,“ fghij”,“ kilmn”]从这里开始,您对每个字符串的第一个字符的模式有何注意? “ a” +“ f” +“ k”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM