如何将Python中的列表类型转换为数值类型
我有一个外部文件,这个文件里只有一列浮点数(将来我想把它扩展成多列)。我想把它导入到一个数组里。这个文件是个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)
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。