簡體   English   中英

Python 從文本文件中創建一個列表,每行一個元素

[英]Python make a list out of text file with one element on each line

我有一個帶有數字列表的文本文件(每行一個),是否可以從該文本文件中制作一個列表,其中一行有一個數字? 我需要這個,以便我可以成對地查看數字列表,我首先取前兩個數字,然后取第三個和第四個,然后像這樣遍歷整個文件,直到沒有數字為止。 目前我得到了同一行上的所有數字,但是當我需要使用除前兩個數字之外的其他數字時,它會變得棘手。

list = []
file = open("doc.txt", "r")
for line in file:
list.append(line.strip())

編輯:我一直試圖以不必要的復雜性來解決這個問題。 我可以使用列表的索引使其工作(我假設)

您可以執行以下操作來獲取對:

with open("doc.txt", "r") as file:
    lst = [line.strip() for line in file]  # do not shadow built-in name `list`
pairs = [lst[i:i+2] for i in range(0, len(lst), 2)]

另一種(更優雅)沒有中間list (更節省空間)的方法直接使用涉及的迭代器進行配對:

with open("doc.txt", "r") as file:
    nums = map(str.strip, file)
    nums = map(int, nums)  # if needed for calculations
    pairs = [*zip(nums, nums)]

for a, b in pairs:
    print(a + b)
    print(a - b)
    # ...

看看這里。 構建列表后,將其拆分為一個新列表,其中每個元素都是兩個元素的列表,然后迭代新列表。

list = []
file = open("doc.txt", "r")
for line in file:
    list.append(float(line.strip()))
pairs = [list[2*i:2*i+2] for i in range(0, len(list)/2)]
for x1,x2 in pairs:
    print("Calculate ({}, {})".format(x1, x2))

我在文本文件中輸入了每行 1...10 的數字,輸出是

Calculate (1.0, 2.0)
Calculate (3.0, 4.0)
Calculate (5.0, 6.0)
Calculate (7.0, 8.0)
Calculate (9.0, 10.0)

假設文本文件具有有效數據:數字和偶數行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM