我有以下代码来打印字典中的项目。
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
答案 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]