使用相同大小的另一个列表中包含的索引,用python中的列表填充较小列表中的值?

时间:2015-09-13 21:58:49

标签: python list nonetype

我有一个名为g_index的索引列表,我有另一个相同大小的列表,名为fill_list,值为full。我还有另一个列表P1,它比g_index和fill_list长。我想创建一个新的大小列表P1,它在g_index的索引中具有fill_list的值,因此其余值为None。请注意,fill_list中的项目将按顺序填充g index中的索引。这意味着fill_list的第一项将在新列表的索引3上(我在代码中将其称为finaList),依此类推。创建的列表大小应为P1的大小,索引中的fill_list值由g_index表示。 这就是我所拥有的:

loopHorizontal = true;

在我的代码中,最终列表只是附加值,这不是我想要的。

2 个答案:

答案 0 :(得分:0)

这样的事情:

final_list = []

for i in range(len(P1)):
    if i in g_index:
        final_list.append(fill_list)
    else:
        final_list.append(None)

在上面的示例中,whatever可以是整个final_list,也可以是fill_list中的项目。

答案 1 :(得分:0)

您可以使用None(或其他任何内容)创建列表,然后映射这样的值:

g_index=[3,6,2,83,7,100,5,1]
fill_list=["lk",3,6,9,"gh",4,7,34]
p1 = [None] * (max(g_index) + 1)
for k, v in enumerate(g_index):
    p1[v] = fill_list[k]
print(p1)