当前位置:嗨网首页>书籍在线阅读

04-keys()、values()和items()方法

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

5.1.2 keys()、values()和items()方法

有3个字典方法,它们将返回类似列表的值,分别对应于字典的键、值和键-值对: keys()values()items() 方法。这些方法返回的值不是真正的列表,它们不能被修改,没有 append() 方法。但这些数据类型(分别是 dict_keysdict_valuesdict_items )可以用于 for 循环。为了了解这些方法的工作原理,请在交互式环境中输入以下代码:

>>> spam = {'color': 'red', 'age': 42}
>>> for v in spam.values():
...     print(v)
red
42

这里, for 循环迭代了 spam 字典中的每个值。 for 循环也可以迭代每个键或者键-值对:

>>> for k in spam.keys():
...     print(k)
color
age
>>> for i in spam.items():
...     print(i)
('color', 'red')
('age', 42)

利用 keys()values()items() 方法,循环分别可以迭代键、值和键-值对。请注意, items() 方法返回的 dict_items 值包含的是键和值的元组。

如果希望通过这些方法得到一个真正的列表,就把类似列表的返回值传递给 list() 函数。在交互式环境中输入以下代码:

>>> spam = {'color': 'red', 'age': 42}
>>> spam.keys()
dict_keys(['color', 'age'])
>>> list(spam.keys())
['color', 'age']

list(spam.keys()) 代码行接收 keys() 函数返回的 dict_keys 值,并传递给 list()函数 ,然后返回一个列表,即 ['color', 'age']

也可以利用多重赋值的技巧,在 for 循环中将键和值赋给不同的变量。在交互式环境中输入以下代码:

>>> spam = {'color': 'red', 'age': 42}
>>> for k, v in spam.items():
...     print('Key: ' + k + ' Value: ' + str(v))
Key: age Value: 42
Key: color Value: red