创建一个空列表以便随后分配数据

Hyp*_*ant 3 python indexing list range

让我们说我想创建一个名单列表

listOfNames = []
Run Code Online (Sandbox Code Playgroud)

然后我有一个while循环,如

count = 0
while listOfNames[count] < 10:
    nameList[count] = raw_input("Enter a name: ")
    count += 1
Run Code Online (Sandbox Code Playgroud)

Python说列表索引超出范围,但列表索引应该为0,对吗?

每次运行while循环时如何添加到列表中?我假设列表分配有问题.

Vin*_*ard 11

空列表还没有任何索引,它是一个空列表!如果你想填补它,你必须做这样的事情:

while count < 10:
    nameList.append(raw_input("Enter a name: "))
    count += 1
Run Code Online (Sandbox Code Playgroud)

这样,您的条件将被评估,并且使用append方法,您将能够在列表中添加新项目.

有一些高级技巧可以很容易地做到这一点,但考虑到你的水平,我认为你在继续之前理解这些代码会更好.

  • 通俗地说,这将是`for _ in range(10):`,因为`_`是Python中的"unused"变量,而for循环不需要额外的变量或递增指令. (2认同)

And*_*ffe 5

最惯用的是使用列表理解:

namelist = [raw_input("Enter a name: ") for i in range(10)]
Run Code Online (Sandbox Code Playgroud)

(或_用于i,虽然我个人不会)

这具有即时创建列表的优点,同时不必使用append()方法和显式索引.