Joe*_*ane 2 dictionary key python-3.x
我一直尝试使用 dict.keys 从我的字典中获取键列表,但它一直给我:
def reverse(PB = {'l': 3, 'y':1, 'u':2}):
print(PB.keys())
印刷:
dict_keys(['u', 'l', 'y'])
在我拥有 2.7 以上的 python 版本之前,我从未遇到过这个问题...有什么想法吗?
Python 3 返回视图对象:
\n\n\n\n\n、 和
\ndict.keys()
返回的对象是视图对象。它们提供了字典\xe2\x80\x99s条目的动态视图,这意味着当字典更改时,视图会反映这些更改。dict.values()
dict.items()
您可以通过将它们传递到以下位置将它们转换为列表(Python 2 行为)list()
:
>>> d = {\'l\': 3, \'y\':1, \'u\':2}\n>>> d.keys()\ndict_keys([\'y\', \'l\', \'u\'])\n>>> list(d.keys())\n[\'y\', \'l\', \'u\']\n
Run Code Online (Sandbox Code Playgroud)\n\n\n\n>>> def reverse(PB={\'l\': 3, \'y\':1, \'u\':2}):\n... PB[\'l\'] += 4\n... \n... print(PB)\n... \n>>> reverse()\n{\'y\': 1, \'l\': 7, \'u\': 2}\n>>> reverse()\n{\'y\': 1, \'l\': 11, \'u\': 2}\n>>> reverse()\n{\'y\': 1, \'l\': 15, \'u\': 2}\n
Run Code Online (Sandbox Code Playgroud)\n\n我默认改为None
:
def reverse(PB=None):\n if PB is None:\n PB = {\'l\': 3, \'y\':1, \'u\':2}\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
315 次 |
最近记录: |