python字典中的dict.items()返回类型

时间:2016-04-26 08:19:21

标签: python dictionary

我有以下代码来打印字典中的项目。

   my_dict = {
              "apples": 430,
              "bananas": 312,
              "oranges": 525,
              "pears": 217,
              "strawberries": 267,
              "blueberry": 179,
              "boysenberry": 432,
              "blackberry": 266,
              "apricot": 321,
              "plum": 143,
              "peaches": 154
            }

for k, v in my_dict.items():
    print('key {} value {}\n'.format(k, v))

上面的代码工作正常并打印键和值。出于好奇,我想尝试

k,v = my_dict.items()

它给了我一个错误。我想知道为什么会这样?我的理解是my_dict.items()返回k and v

1 个答案:

答案 0 :(得分:2)

它返回一个项目列表(在python3 dict_items对象中),你不能将它们分配给两个变量。如果您想单独获取键和值,可以使用dict.keys()dict.values()属性:

>>> my_dict.items()
[('bananas', 312), ('oranges', 525), ('peaches', 154), ('strawberries', 267), ('boysenberry', 432), ('apricot', 321), ('plum', 143), ('pears', 217), ('apples', 430), ('blueberry', 179), ('blackberry', 266)]
>>> 
>>> k, v = my_dict.keys(), my_dict.values()
>>> 
>>> k
['bananas', 'oranges', 'peaches', 'strawberries', 'boysenberry', 'apricot', 'plum', 'pears', 'apples', 'blueberry', 'blackberry']
>>> 
>>> v
[312, 525, 154, 267, 432, 321, 143, 217, 430, 179, 266]