我只是对下面的代码片段不起作用感到好奇,它应该初始化一个空列表并动态地附加一个初始值。第二个片段正在工作。怎么了?对于这种初始化是否有最佳实践?
>>> foo = [].append(2)
>>> print foo
None
>>> foo = []
>>> foo.append(2)
>>> print foo
[2]
编辑:看来我在语法上有点误会。正如下面已经指出的,append始终不返回任何结果值。我首先想到的是,[]将返回一个空的list对象,append应该在其中放置第一个元素,然后将该列表分配给foo。那是错误的。
Tags:
你不能做以下两件事的真正原因
因为
.append()
总是返回None
作为函数返回值。.append()
应该在适当的地方完成。有关数据结构的文档,请参见here。作为总结,如果要初始化列表中的值,请执行以下操作:
如果要初始化空列表以在函数/操作中使用,请执行以下操作:
最后,如果您真的想进行类似于
l = [2,3,4].append()
的计算,请使用+
运算符,例如:这通常是你初始化列表的方式。
相关问题 更多 >
编程相关推荐