亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 python 在列中返回值而不是按行打印文件中的行

使用 python 在列中返回值而不是按行打印文件中的行

慕桂英546537 2021-10-05 16:20:47
我一定忘記了基本的python,因為我似乎無法在拆分后按實際行打印行,以便每一行都作為列表中的元素。例如:for lines in open(testfile):     print(lines.split())輸出(注意這不是列表列表): ["The", "apple", "banana", "check"] ["Two", "apples", "three", "checks", "testest"] ["This", "is", "a", "test", "file"]所以如果我想自己打印第一行,我將代碼更改為:for lines in open(testfile):     print(lines.split()[0])但是我得到了每個行列表中的第一個元素: "The" "Two" "This"但我預計:["The", "apple", "banana", "check"]我知道這是語法錯誤,我已經查過了,但我一直只得到第一個元素。抱歉,這太基礎了,但我已經有一段時間沒有做這樣簡單的事情了!
查看完整描述

2 回答

?
月關寶盒

TA貢獻1772條經驗 獲得超5個贊

您的for循環將依次查看每一行,因此當您print(lines.split()[0])執行此操作時,一次只查看一行。您可以做的是將所有拆分的行放在自己的列表中,然后查看該列表中的第一個元素:


all_lines = []  # empty list

for line in open(testfile):

     all_lines.append(line.split())

all_lines[0]

# ["The", "apple", "banana", "check"]

順便說一句,打開文件時最好使用以下with語句:


all_lines = []

with open(testfile) as a_file:

    for line in a_file:

        all_lines.append(line.split())

這里的優點是它創建了一個運行文件操作的上下文,并自動處理諸如關閉文件之類的事情。


最后,如果你只關心文件的第一行,你可以這樣做:


with open(testfile) as a_file:

    first_line = a_file.readline().split()  # grab just the first line

first_line

# ["The", "apple", "banana", "check"]


查看完整回答
反對 回復 2021-10-05
?
RISEBY

TA貢獻1856條經驗 獲得超5個贊

您可以簡單地break在打印第一行之后:


for lines in open(testfile):

     print(lines.split())

     break

這將只打印第一行


查看完整回答
反對 回復 2021-10-05
  • 2 回答
  • 0 關注
  • 261 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號