我需要在Python中分离对象列表,但我不知道如何做,也没有找到解决方案。
我的列表是这样的244个单元格的数据:
{'x':-9.717017,'y':-14.0228567,'z':145.401215}
和我想,作为结果,3个列表,所有的'x',所有的'y'和所有的'z'。原始列表表示为:
['{'x':-9.717017,'y':-14.0228567,'z':145.401215}', ... , '{'x':-6.44751644,'y':-65.20397,'z':-67.7079239}'].
谢谢你。
遍历列表,并调用ast.literal_eval()
将每个字符串转换为字典。然后将字典中的每个项附加到相应的列表中。
import ast
x_list = []
y_list = []
z_list = []
for item in data:
d = ast.literal_eval(item)
x_list.append(d['x'])
y_list.append(d['y'])
z_list.append(d['z'])
你可以返回"x","y"、"z"组件,而遍历你的dict()
列表元素。
。
data = [{'x':-9.717017,'y':-14.0228567,'z':145.401215}, {'x':-9.717017,'y':-14.0228567,'z':145.401215}]
x = [d['x'] for d in data]
y = [d['y'] for d in data]
z = [d['z'] for d in data]
这应该返回单个列表在x, y, z。