当m不知道元素的数量时,我如何分配带有零的列表

2024-03-28 08:34:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把不同书籍的份数存储在一个列表中 [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或任何值。我的问题是,当我不知道元素的数量并且我动态地附加列表元素时,如何用零来分配列表。请提出一些方法来达到我的要求。你知道吗


Tags: in元素列表forindex错误副本range
2条回答

试试这个:

> li = [0] * 5

这就是li的样子:

> li =  [0, 0, 0, 0]

因为你不知道大小,所以你只能创建一个列表

> li = []

在某些条件之后,继续在它后面附加zero

> if condition: 
     li.append(0)

可以将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]

相关问题 更多 >