从文本文件读入数字

2024-06-08 19:31:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着从一个文本文件中读入数字,它看起来像这样:

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打印出来很好,但是类型是“list”,我在用它做算术时遇到了问题。出于某种原因,我在将其转换为int数组时也遇到了问题。你知道吗

有没有更简单的方法?你知道吗


Tags: ofinforreadsysline数字整数
1条回答
网友
1楼 · 发布于 2024-06-08 19:31:17

此行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))

相关问题 更多 >