簡體   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