簡體   English   中英

從文本文件中讀取數字

[英]Read in numbers from a text file

我正在嘗試從看起來像這樣的文本文件中讀取數字:

file.txt:
5
2 3 4 2 3 6 8 4 5

其中第一行包含一個表示整數k的數字 接下來是可變數量的整數,這些整數被空格分隔,我需要將它們作為整數輸入到數組中,以便可以對它們進行一些算術運算。

import sys

fileName = sys.argv[1]

with open(fileName) as f:
    k = [int(x) for x in next(f).split()] # read first line, this will be k
    print("Value for _k_")
    print(k)
    arrayInts = [] # array used for the numbers
    for line in f: # read rest of numbers
        arrayInts.append([int(x) for x in line.split()])
    print("The list of integers:")
    print(arrayInts)

現在,arrayInts可以正常打印,但類型為“列表”,我在進行算術運算時遇到了麻煩。 由於某種原因,我也很難將其轉換為整數數組。

有沒有更簡單的方法可以做到這一點?

這行arrayInts.append([int(x) for x in line.split()])正在使用該行中的整數創建一個列表,然后將該列表追加到arrayInts列表中。 因此,您將獲得一個列表列表。 如果僅要將所有int放在一個列表中,則可以執行以下操作:

arrayInts = [] # array used for the numbers
for line in f: # read rest of numbers
    for x in line.split():
    arrayInts.append(int(x))

暫無
暫無

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

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