我得到了这样一个数组列表:
[[array([ 0.00000000e+00, -1.00000000e+00, -6.12323400e-17]), array([ 0.00000000e+00, 1.00000000e+00, 6.12323400e-17]), array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]]), array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]])], [[0.9957649076694132, -0.09193611180665112, 0], array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]]), array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]]), array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]])], [[0.012185959917421326, 0.60870153111176395, -0.0], array([ 0. , -0.47671475, -0. ]), array([-0.01218596, -0.13198678, 0. ]), array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]])], [array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]]), array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]]), array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]]), array([[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]])]]
我想知道如何将这样的列表转换为列表列表。 我试着通过使用理解列表来解决这个问题:
ves = [x.tolist() for x in j for j in ves]
但是,我得到了一个错误作为回报:
TypeError: 'int' object is not iterable
我把这个对象复制到了Ipython会话中。我看到的是
4项清单
这是4项列表,元素是一维和二维数组。你知道吗
但是
ll[1]
包含一个列表(3个项目)和3个2d数组。ll[3]
是4个2d数组。你知道吗要将其转换为纯列表,您必须向下迭代2个级别,并对数组中的每个元素应用
tolist()
。如果项目已经是列表,则不进行转换。你知道吗我试着把它写成一个复合列表理解;我必须这样做吗?你现在能处理这些细节吗?你知道吗
你的理解力倒过来了。顺序是从左到右的,就像是一个普通的嵌套循环。所以呢
就像
您可以看到这是一个问题,因为它试图将x设置为j中的值,但j还不存在。你知道吗
需要反过来:
相关问题 更多 >
编程相关推荐