Nul*_*ion 2 python dictionary tuples list
说,
data = { 123: 1, 234: 2, 241: 4 }
a = list(sorted(data.items()))
Run Code Online (Sandbox Code Playgroud)
是不是没有列表?我想,sorted(data.items())
自己将返回list
的tuples
?为什么有人会专门使用列表功能?
list
在这种情况下,呼叫是不必要的 - 你是对的.
一些Python方法返回迭代器而不是列表.该list
函数可用于强制迭代器成为一个列表(例如,它可以被索引).
以函数reversed
为例,它返回一个迭代器:
In [1]: type(reversed([3,1,2]))
Out[1]: listreverseiterator
In [2]: reversed([3,1,2])[1]
---------------------------------------------------------------------------
TypeError: 'listreverseiterator' object has no attribute '__getitem__'
Run Code Online (Sandbox Code Playgroud)
我们可以使用它list
来使用迭代器并在列表中使用它的结果:
In [3]: list(reversed([3,1,2]))[1]
Out[3]: 1
Run Code Online (Sandbox Code Playgroud)
list
可能用于强制其他类似列表的类型为具体列表:
In [4]: (1,2,3).append(4)
---------------------------------------------------------------------------
AttributeError: 'tuple' object has no attribute 'append'
In [5]: list((1,2,3)).append(4) # => [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1687 次 |
最近记录: |