当前位置: 首页 > 面试题库 >

在python中创建具有特定大小的空列表

翁鸿远
2023-03-14
问题内容

我想创建一个可以容纳10个元素的空列表(或最好的方法)。

之后,我想在该列表中分配值,例如,应该显示0到9:

s1 = list();
for i in range(0,9):
   s1[i] = i

print  s1

但是,当我运行此代码时,它会产生错误,或者在其他情况下,它只会显示[](空)。

有人可以解释为什么吗?


问题答案:

你不能分配给类似的列表lst[i] = something,除非该列表已至少已使用i+1元素初始化。你需要使用append将元素添加到列表的末尾。lst.append(something)

(如果使用字典,则可以使用分配符号)。

创建一个空列表:

>>> l = [None] * 10
>>> l
[None, None, None, None, None, None, None, None, None, None]

为上述列表的现有元素分配一个值:

>>> l[1] = 5
>>> l
[None, 5, None, None, None, None, None, None, None, None]

请记住,类似的操作l[15] = 5仍然会失败,因为我们的列表只有10个元素。

range(x)[0,1,2,... x-1]创建一个列表

# 2.X only. Use list(range(10)) in 3.X.
>>> l = range(10)
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

使用函数创建列表:

>>> def display():
...     s1 = []
...     for i in range(9): # This is just to tell you how to create a list.
...         s1.append(i)
...     return s1
... 
>>> print display()
[0, 1, 2, 3, 4, 5, 6, 7, 8]

列表理解(使用正方形,因为对于范围你不需要执行所有这些操作,你只需返回即可range(0,9)):

>>> def display():
...     return [x**2 for x in range(9)]
... 
>>> print display()
[0, 1, 4, 9, 16, 25, 36, 49, 64]


 类似资料:
  • 我想创建一个可以容纳10个元素的空列表(或者任何最好的方式)。 然后,我要在该列表中分配值,例如,该列表应该显示0到9: 但当我运行此代码时,它会生成一个错误,或者在另一种情况下,它只显示(空)。 有人能解释为什么吗?

  • 问题内容: 我想创建一个特定大小的文件(例如1GiB)。内容并不重要,因为我会在其中填充内容。 我正在做的是: 但这需要太长时间才能完成。我花了大约1分钟的时间。有什么可以改善的呢? 问题答案: 警告 此解决方案将提供您可能无法预期的结果。参见UPD … 1创建新文件。 2寻求1个字节的大小。 3写1个字节。 4利润:) UPD: 查找和截断都在我的系统(Linux + ReiserFS)上创建稀

  • 如何创建一个可以容纳10个元素的空列表? 之后,我想在该列表中分配值。例如: 但是,这会导致<code>索引器:列表分配索引超出范围。为什么? 在Python中,列表没有设置的容量,但不可能分配给尚未存在的元素。这里的答案显示了创建一个包含10个“伪”元素的列表的代码,以便稍后替换。然而,大多数遇到这个问题的初学者实际上只是想通过向列表中添加元素来构建列表。这应该使用方法,尽管通常会有特定于问题的

  • 问题内容: 在C ++中,我可以创建如下数组: 在python中,我只知道我可以声明一个列表,而不要附加一些项目或类似。 我可以按给定的大小(如c ++)初始化列表,并且不进行任何赋值吗? 问题答案: (tl;博士:您问题的确切答案是或,但您可能不在乎,可以摆脱使用的困扰。) 您可以将列表初始化为所有相同的元素。使用非数字值在语义上有意义(如果使用它会在以后产生错误,这是一件好事)或类似0的值(不

  • 本文向大家介绍在Python中创建具有给定范围的数字列表,包括了在Python中创建具有给定范围的数字列表的使用技巧和注意事项,需要的朋友参考一下 Python可以通过其各种库和方法来满足数据处理中的任何要求。当我们需要生成一对给定数字之间的所有数字时,我们可以使用python的内置函数以及某些库。本文介绍了这种方法。 使用范围 该函数返回一个数字序列,默认情况下从0开始,以1递增,以指定的数字结

  • 问题内容: 有没有一种 有效的 方法来用Java创建具有给定大小的文件? 在C语言中,可以使用ftruncate来完成。 大多数人只会将 n个 虚拟字节写入文件,但是必须有一种更快的方法。我在考虑ftruncate以及稀疏文件 … 问题答案: 创建一个新的RandomAccessFile并调用setLength方法,指定所需的文件长度。底层JRE实现应使用您环境中可用的最有效方法。 以下程序 在L