从两个数组制作字典,以便第一个数组的值显示第二个数组的索引

我有两个数组:

a = array([0,    5,   10,   14, 20])
b = array([42, 41, 11, 22, 33, 10, 22,  2, 45,  3,  9, 10,  1,  3, 45,  1,  4, 2,  9,  8])

价值观a是指数b,我要地图a,并b作为一个字典,字典的keys是指数a和值是从b。字典的第一个键取 的前 5 个值b,第二个键取接下来的 5 个值,第三个键取接下来的 4 个值,第四个键取接下来的 6 个值,这是通过减去 的两个连续值来推断的a

输出应该是这样的:

dict = {0: [42, 41, 11, 22, 33],
        1: [10, 22,  2, 45,  3] , 
        2: [9, 10,  1,  3], 
        3: [45,  1,  4, 2,  9,  8]}

的实际大小ab在数千人。

回答

您可以通过字典理解来解决这个问题,循环遍历a列表,b按中的值对列表进行索引a

a = [0,  5,   10,   14, 20]
b = [42, 41, 11, 22, 33, 10, 22,  2, 45,  3,  9, 10,  1,  3, 45,  1,  4, 2,  9,  8]

dct = {i: b[a[i]:a[i+1]] for i in range(len(a)-1)}


以上是从两个数组制作字典,以便第一个数组的值显示第二个数组的索引的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>