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
.
我目前正在遍历一些字符串列表以填充新列表。最初我有:
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
.