我正在尝试在Python中填充两个单独的数组,一个数组将包含数值,另一个数组将是权重。数组如下
res = [2, 3, 72, 17, 44, 23, 31, 24, 1, 26]
基本上3表示将有3组项目,其中val应该分别为72、44和31,wt应该分别为17、23和24。如何用这些数字填充两个单独的数组变量?到目前为止,这是我所拥有的,但我认为我对此考虑过多。
nCount = 1
N = res[1]
val = []
wt = []
while nCount < N * 2:
for x in range(N):
val = res[nCount + 1]
print(val)
for y in range(N):
wt = res[nCount + 2]
print(wt)
nCount += 2
答案 0 :(得分:1)
您可以使用切片来获取数组:
items_count = res[1]
values = res[2:2 + items_count * 2:2]
weights = res[3:3 + items_count * 2:2]
res[2:2 + items_count * 2:2]
表示从2
的每个res
元素中选择索引为2
的元素到索引为2 + items_count * 2
的元素。您可以了解有关切片here的更多信息。
答案 1 :(得分:0)
使用len(列表)
res [2:len(res)-2:2]
res [3:len(res)-2:2]或res [3:len(res)-1:2]