我在安排和替换python列表或数组时遇到了问题。 我有两个阵列,让说a和b如,如何将一个列表中的某些值替换为另一个相同类型的值?
a = [[ 0. 0. -2.5 0. ]
[ 0. 0. -2. 0. ]
[ 0. 0. -1.5 0. ]
...............,
[ 2.5 2. 1. 0. ]
[ 2.5 2. 1.5 0. ]
[ 2.5 2. 2. 0. ]]
共有300行与4个元件的每一行是。它的排列方式为[ x y z val ]
, 这意味着对于每个x,y,z点,我有一个值'val',初始化为零点为300 点。 x,y,z具有最小值和最大值x-min = 0,x-max = 2.5; y-min = 0,y-max = 2.0; z-min = -2.5,z-max = 2.0。
我有另一个列表,B为
b = [[ 0. 0. -2.5 21.793416 ]
[ 0. 0.5 -2.5 20.30 ]
[ 0. 1. -2.5 16.66 ]
[ 0. 1.5 2. -16.61 ]
[ 0. 2. -2.5 9.06 ]
[ 0. 2. -2. 9.81 ]
[ 0. 2. -1.5 9.65 ]
[ 1.5 2. 0.5 -4.42 ]
[ 1.5 2. 1. -7.44 ]
[ 1.5 2. 2. -8.89 ]
[ 2. 0. -2.5 13.26 ]
[ 2. 0. 1.5 -9.81 ]
[ 2.5 2. 0.5 -1.60 ]
[ 2.5 2. 1. -3.48 ]
[ 2.5 2. 2. -5.20 ]]
b比更小的(比方说15分),并具有相同类型的如上[x y z val]
其中VAL这里不为零。
现在我需要为a
插入对应的x,y,z的b
的val。这意味着对于等价的[x y z]点,我需要将val的值从b替换为a。哪个会修改列表a。
只是确保...都XYZ设置为'a'唯一,与'b'相同? – 2012-01-05 16:52:18
这些看起来像NumPy阵列。所有的点都是独特的吗?你需要使用列表/数组吗? – 2012-01-05 16:52:58