如何将Python中的列表类型转换为数值类型

0 投票
7 回答
929 浏览
提问于 2025-04-16 15:09

我有一个外部文件,这个文件里只有一列浮点数(将来我想把它扩展成多列)。我想把它导入到一个数组里。这个文件是个csv文件,但其实也可以是txt文件。

我正在使用:

reader = csv.reader(open("e=0.6.csv"))
table = []
for row in reader:
    values = []    
    for col in row: 
        values.append(float(col))
    table.aapend(values)

结果是一个列表 [[1.0], [0.98], ......],我想把这个列表转换成一个数字数组 (1.0, 0.98, ...)。我该怎么做呢?

7 个回答

1

(1.0, 0.98, ...) 是一个 元组。下面是创建一个元组的一个方法:

>>> l = [[1.0], [0.98]]
>>> tuple(i[0] for i in l)
(1.0, 0.97999999999999998)
1

你为什么要新建一个叫做 values 的列表?为什么不直接往 table 里添加呢?也就是说:

reader = csv.reader(open("e=0.6.csv"))
table = []
for row in reader: 
    for col in row: 
        table.append(float(col))
2
reader = csv.reader(open("e=0.6.csv"))
table = tuple(float(col) for row in reader for col in row)

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

撰写回答