2017-10-09 77 views
1

我想填写这个python列表。如何填写这个python列表?

volume = [] 
for x in range(0,num_days): 
    volume[x] = quotations(x).Volume 

我收到错误IndexError: list assignment index out of range。代码有什么问题以及如何填写volume列表? quotations是从win2com导入的对象。

我使用python V3.6

+2

使用list.append(),在这种情况下volume.append(....) –

回答

0

改变列表与dict

volume = {} 
for x in range(0,num_days): 
    volume[x] = quotations(x).Volume 
1

你必须append作为索引是指标设置为特定值:

volume = [] 
for x in range(0,num_days): 
    volume.append(quotations(x).Volume) 
+1

这是* *的索引。单数*指数*,复数*指数*。 – mentalita

+0

@mentalita Opps,谢谢你指出。固定。 – Ajax1234

1

在Python中,你不需要为“填补”了列表,就像你在C这样的静态语言中做的一样。列表的大小由语言本身自动管理。出于同样的原因,Python中的列表被称为列表而不是数组。

volume.append(quotations(x).Volume) # instead of volume[x] = quotations(x).Volume 

虽这么说,你当然可以在一定的指数变化的元素,如果你确定它已经分配,​​这是不是你的情况。

1

您可以使用列表理解来构造volume

volume = [qutations(x).Volume for x in range(0, num_days)]