Python-有关使用[无]与仅[]初始化列表的问题

问题描述

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

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','500']
path = []
for counter,value in enumerate(z_locations):
   path.append('Desktop/Data/z_' + value)

其中删除nonetype作为第一个元素,并且仅按照我最初的意图进行复制。但是,我不确定为什么会首先发生这种情况。在创建新列表之前,我还没有遇到这个nonetype。有人能启发我为什么会发生这种情况吗?

谢谢。

解决方法

之所以会这样,是因为append将一个元素添加到列表的末尾。您所有准备就绪的列表中都包含None,因此您添加的所有元素都将放在其后,例如[None,...]。因此,当您获得第一个元素时,它会为您提供None