首页 > 编程笔记

Python dict字典keys()、values()和items()方法

这 3 个方法之所以放在一起介绍,是因为它们都用来获取字典中的特定数据。keys() 方法用于返回字典中的所有键;values() 方法用于返回字典中所有键对应的值;items() 用于返回字典中所有的键值对。

例如:
a = {'数学': 95, '语文': 89, '英语': 90}
print(a.keys())
print(a.values())
print(a.items())
运行结果为:

dict_keys(['数学', '语文', '英语'])
dict_values([95, 89, 90])
dict_items([('数学', 95), ('语文', 89), ('英语', 90)])


注意,在 Python 2.x 中,这三个方法的返回值是列表类型。但在 Python 3 中,并不是我们常见的列表和元组类型,因为 Python 3不希望用户直接操作这几个方法的返回值。如果想使用返回的数据,有以下 2 种方法:
  1. 使用 list() 函数,将它们返回的数据转换成列表,例如:
    a = {'数学': 95, '语文': 89, '英语': 90}
    b = list(a.keys())
    print(b)
    运行结果为:

    ['数学', '语文', '英语']

  2. 也可以利用多重赋值的技巧,利用循环结构将键或值分别赋给不同的变量,比如说:
    a = {'数学': 95, '语文': 89, '英语': 90}
    for k in a.keys():
        print(k,end=' ')
    print("\n---------------")
    for v in a.values():
        print(v,end=' ')
    print("\n---------------")
    for k,v in a.items():
        print("key:",k," value:",v)
    运行结果为:

    数学 语文 英语
    ---------------
    95 89 90
    ---------------
    key: 数学  value: 95
    key: 语文  value: 89
    key: 英语  value: 90

推荐阅读