我想将列表中不同图书的副本数量存储为
[10,14,12,16,42,23]
。这里,index[0]
表示第一本书的第一个元素有10个副本,第二本书(index[1])
有14个这样的副本。但问题是我不知道有多少种书存在,即列表元素的总数是未知的。所以我创建了一个空列表如下:
li = []
之后我运行for循环,在每次迭代中我想添加和更新list元素,如下所示:
for x in range(5):
li[x] = li[x] + 1
但是我收到以下错误:
li[x] = li[x] + 1
IndexError: list index out of range
因为li[x]
尚未分配给0
或任何值。我的问题是,当我不知道元素数量并且我动态追加列表元素时,如何为列表分配零。请提出一些方法来实现我的要求。
答案 0 :(得分:1)
您可以在列表中将0指定为值。 你可以尝试:
>>> for x in range(5):
li.append(0)
>>> print li
[0, 0, 0, 0, 0]
>>> for x in range(5):
li[x] = li[x] + 1
>>> print li
[1, 1, 1, 1, 1]
答案 1 :(得分:0)
试试这个:
> li = [0] * 5
这就是li
的样子:
> li = [0, 0, 0, 0]
由于您不知道大小,所以您所能做的就是创建一个列表
> li = []
并且在某些条件之后继续向其添加zero
> if condition:
li.append(0)