以下代码有什么不同:
foo = list()
而且
foo = []
Python建议有一种做事方式,但有时似乎还有更多的方法。
>>> import dis
>>> def f1(): return list()
...
>>> def f2(): return []
...
>>> dis.dis(f1)
1 0 LOAD_GLOBAL 0 (list)
3 CALL_FUNCTION 0
6 RETURN_VALUE
>>> dis.dis(f2)
1 0 BUILD_LIST 0
3 RETURN_VALUE
list((a,b,c))
将返回[a,b,c]
,而[(a,b,c)]
不会展开元组。当你想要将元组转换为列表时,这可以非常有用。反过来也是一样的,tuple([a,b,c])
返回(a,b,c)
。list
是一个全局名称,可能在运行时被覆盖。 list()
调用了该名称。
[]
始终是一个列表字面量。
list
。(尽管这是一个好观点。):P - tckmnlist
(和str
和dict
)作为变量名的问题来看,我倾向于同意@Doorknob的观点。 :) - PM 2Ring
dict()
和{}
,tuple()
和()
, 等等。 - Remi Guan