![](/img/trans.png)
[英]Python take the last number of each line in a text file and make it into a list
[英]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.