考虑以下:
mylist = list()
Run Code Online (Sandbox Code Playgroud)
和:
mylist = []
Run Code Online (Sandbox Code Playgroud)
使用list()或是否有任何好处[]- 在某些情况下是否应该使用另一个?
Sve*_*ach 17
对于空列表,我建议使用[].这将更快,因为它避免了内置名称的名称查找list.内置名称也可以被全局或本地名称覆盖; 这只会影响list(),而不是[].
但是,list()内置对于将其他迭代转换为列表很有用:
a = (1, 2, 3)
b = list(a)
Run Code Online (Sandbox Code Playgroud)
为了完整性,我机器上的空列表的两个选项的时间安排(Python 2.7.3rc2,Intel Core 2 Duo):
In [1]: %timeit []
10000000 loops, best of 3: 35 ns per loop
In [2]: %timeit list()
10000000 loops, best of 3: 145 ns per loop
Run Code Online (Sandbox Code Playgroud)
两者完全等效,只是可以重新定义标识符list以引用不同的对象。[]因此,除非您希望能够重新定义list为新类型,否则使用起来更安全。
从技术上讲,使用[]会稍微快一些,因为它避免了名称查找。在任何情况下,这都不太可能产生重大影响,除非程序不断地、疯狂地分配列表。
正如斯文指出的那样,list它还有其他用途,但当然问题并没有问这些。
| 归档时间: |
|
| 查看次数: |
3323 次 |
| 最近记录: |