当你将一个dict
对象转换为列表时,它只会获取键。
但是,如果你用方括号将其括起来,它会保持原样,只是将其变成包含一个项目的dict
列表。
>>> obj = {1: 2, 3: 4, 5: 6, 7: 8}
>>> list(obj)
[1, 3, 5, 7]
>>> [obj]
[{1: 2, 3: 4, 5: 6, 7: 8}]
>>>
这是因为当你使用 `for` 循环时,它只获取键名:
>>> for k in obj:
... print k
...
1
3
5
7
>>>
但如果你想获取键和值,使用.items()
:
>>> list(obj.items())
[(1, 2), (3, 4), (5, 6), (7, 8)]
>>>
使用 for
循环:
>>> for k, v in obj.items():
... print k, v
...
1 2
3 4
5 6
7 8
>>>
然而,当您键入
list.__doc__
时,它会给您与
[].__doc__
相同的结果:
>>> print list.__doc__
list() -> new list
list(sequence) -> new list initialized from sequence's items
>>>
>>> print [].__doc__
list() -> new list
list(sequence) -> new list initialized from sequence's items
>>>
有点误导 :)
list
使用dict.keys()
,第一个是字典列表。 - bozdozlist()
接受一个可迭代对象并返回列表。 - cmd