我的代码可以正确返回 xyz 坐标列表(或 xyz 坐标列表)。我的问题是我想直接访问它返回的列表中的各个数字,但我一次只能访问整个列表。我的代码:
import numpy as np
a = [([2, -2, 0.29]), ([-2, 0, 1.9]), ([2, 1, 2.35]), ([2, -3, 2.96])]
b = [0,2,3]
myZip= list(zip(a,b))
result={}
for x in myZip:
result.setdefault(x[1],[]).append(x[0])
xyz=[]
for each_index in b:
xyz.append(result[each_index])
print(xyz)
xyz.clear()
将返回:
[[[2, -2, 0.29]]]
[[[-2, 0, 1.9]]]
[[[2, 1, 2.35]]]
我现在想把它分成 X 和 Y,这样 X=[2,-2,2] 和 Y=[-2,0,1]。我试过直接切片它,但我得到一个关于切片是整数而不是元组的错误。我还尝试转换为 numpy,然后使用 np.hsplit。如何做到这一点?谢谢男生(或女生)。
编辑
我意识到在这些情况下它一次只会打印一个,但在我的真实示例中,有时它会返回 ([x,y,x],[x,y,z])。