use*_*468 3 python multidimensional-array
我有一个2维类型字符串列表我试图将其转换为int.到目前为止我尝试过的事情:
[[float(i) for i in lst[j] for j in lst]
Run Code Online (Sandbox Code Playgroud)
使用for循环:
for i in range(len(lst)):
for j in range(len(lst[i])):
lst[i][j]=float(lst[i][j])
Run Code Online (Sandbox Code Playgroud)
>>> 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]]
Run Code Online (Sandbox Code Playgroud)
我不确定你的意图是什么,但是因为你声称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]
Run Code Online (Sandbox Code Playgroud)