Python - 关于使用 [None] 与 [] 初始化列表的问题

Python - Question about initialising lists with [None] versus with just []

我目前正在遍历一些字符串列表以填充新列表。最初我有:

z_locations = ['50', '100', '150', '250', '500']
path = [None]
for counter, value in enumerate(z_locations):
   path.append('Desktop/Data/z_' + value)

我的列表 path 将作为长度为 6 的列表出现,新列表 path 中的第一个元素将只是 NoneType。我可以通过更改为:

来解决此问题
z_locations = ['50', '100', '150', '250', '500']
path = []
for counter, value in enumerate(z_locations):
   path.append('Desktop/Data/z_' + value)

它删除了作为第一个元素的 NoneType 并且只按照我最初的意图进行复制。但是,我不确定为什么首先会发生这种情况。我以前在创建新列表时没有遇到过这个 NoneType。有人能告诉我为什么会这样吗?

谢谢。

发生这种情况是因为 append 在列表末尾添加了一个元素。您的列表已准备就绪,其中包含 None,因此您添加的任何元素都将放在它之后,例如 [None, ...]。因此,当您获得第一个元素时,它会为您提供 None.