Skip to main content
 首页 » 编程设计

Python 从单个字符串列表创建浮点列表列表

2025年05月04日28youxin

我是 python 的新手,我需要从字符串列表创建浮点值列表(矩阵)列表。所以如果我的输入是:

objectListData = ["1, 2, 3, 4", "5, 6, 7, 8", "9, 0, 0, 7", "5, 4, 3, 2", "2, 3, 3, 3", "2, 2, 3, 3"] 

我想得到的是:

[[1, 2, 3, 4], [5, 6, 7, 8], [9, 0, 0, 7], [5, 4, 3, 2], [2, 3, 3, 3], [2, 2, 3, 3]] 

这是我的代码:

objectListData = ["1, 2, 3, 4", "5, 6, 7, 8", "9, 0, 0, 7", "5, 4, 3, 2", "2, 3, 3, 3", "2, 2, 3, 3"] 
 
 
objectListDataFloats = [[0] * len(objectListData[0].split(', '))] * len(objectListData) 
for count in range(1,len(objectListData)): 
    for ii in range(1,len(objectListData[count].split(', '))): 
        objectListDataFloats[count][ii] = float(objectListData[count].split(', ')[ii]) 
 
print objectListDataFloats 
 
objectListDataFloats=[[0, 2.0, 3.0, 3.0], [0, 2.0, 3.0, 3.0], [0, 2.0, 3.0, 3.0], [0, 2.0, 3.0, 3.0], [0, 2.0, 3.0, 3.0], [0, 2.0, 3.0, 3.0]] 

错在哪里?我找不到它。谢谢

请您参考如下方法:

给你:

[[int(y) for y in x.split(",")] for x in objectListData] 

输出:

[[1, 2, 3, 4], [5, 6, 7, 8], [9, 0, 0, 7], [5, 4, 3, 2], [2, 3, 3, 3], [2, 2, 3, 3]] 

或者,如果你想要 float :

[[float(y) for y in x.split(",")] for x in objectListData] 

输出:

[[1.0, 2.0, 3.0, 4.0], [5.0, 6.0, 7.0, 8.0], [9.0, 0.0, 0.0, 7.0], [5.0, 4.0, 3.0, 2.0], [2.0, 3.0, 3.0, 3.0], [2.0, 2.0, 3.0, 3.0]]