首页 > 解决方案 > Python - 关于使用 [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我之前在创建新列表时没有遇到过这种情况。有人可以告诉我为什么会这样吗?

谢谢。

标签: pythonlistnonetype

解决方案


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


推荐阅读