我有一个字符串类型的二维列表,我正在尝试将其转换为 int。到目前为止我尝试过的事情:
[[float(i) for i in lst[j] for j in lst]
使用 for 循环:
for i in range(len(lst)):
for j in range(len(lst[i])):
lst[i][j]=float(lst[i][j])
最佳答案
>>> nums = [['4.58416458379', '3.40522046551', '1.68991195077'], ['3.61503670628', '5.64553650642', '1.39648965337'], ['8.02595866276', '8.42455003038', '7.93340754534']]
>>> [[float(y) for y in x] for x in nums]
[[4.58416458379, 3.40522046551, 1.68991195077], [3.61503670628, 5.64553650642, 1.39648965337], [8.02595866276, 8.42455003038, 7.93340754534]]
我不确定你的意图是什么,但既然你声称 for
循环版本不起作用,也许你想要一个一维结果,在这种情况下:
>>> [float(y) for x in nums for y in x]
[4.58416458379, 3.40522046551, 1.68991195077, 3.61503670628, 5.64553650642, 1.39648965337, 8.02595866276, 8.42455003038, 7.93340754534]
关于python:将字符串的二维列表转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15996596/