用数据填充两个单独的数组?

时间:2018-10-14 14:59:45

标签: python

我正在尝试在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

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]