给出一个数字列表如何将项目插入到另一个列表中,并将数字列表作为索引?

时间:2017-10-01 16:47:41

标签: python list

我有一个数字列表:

numbers=[1,3]

我有两个清单列表:

a=[[1,2,3],[4,5,6]] and b=[[1,2],[2,4]]

我想根据a列表中的索引将列表b中的项目插入到列表numbers中。因此,[1,2,3]将在索引b1的列表[4,5,6]中插入到索引b的列表3中。我该怎么做?

编辑:我尝试使用for循环,但它说列表索引超出范围? 编辑:循环是正确的。错误来自我的代码的其他部分。     for itemOne in numbers:         对于项目:            verticeToAppend = item
            b.insert(itemOne,verticeToAppend)

输出:

[[1,2],[1,2,3],[2,4],[4,5,6]]

3 个答案:

答案 0 :(得分:1)

我得到的错误来自我代码其他部分的错误。这个for循环是正确的。

for itemOne in numbers:
for item in a:
   verticeToAppend= item   
    b.insert(itemOne,verticeToAppend)

答案 1 :(得分:0)

[b.insert(numbers[elem],a[elem]) for elem in range(len(numbers))]

您可以使用列表理解

答案 2 :(得分:0)

根据索引列表将值插入结果列表(请参阅代码)。

result = []
originals = [...]
values = [...]
while len(indices) > 0:
    if len(result) == indices[0]:
        result.append(values[indices[0]])
        indices = indices[1:]
    elif len(originals) == 0:
        result.append("placeholder") # e. g. None
    else:
        result.append(originals[0])
        originals = originals[1:]