从两个数组制作字典,以便第一个数组的值显示第二个数组的索引
我有两个数组:
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]}
的实际大小a和b在数千人。
回答
您可以通过字典理解来解决这个问题,循环遍历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)}