【发布时间】:2018-10-19 21:34:29
【问题描述】:
第 1 步:创建字典
dict1 = {"one": 1, "two": 2, "zero": 0}
第 2 步:显示 dict1 的内容
dict1
{'one': 1, 'two': 2, 'zero': 0}
第 3 步:使用 .items() 创建视图对象
vwobj = dict1.items()
第 4 步:显示对象的内容(元组列表)
vwobj
dict_items([('one', 1), ('two', 2), ('zero', 0)])
第 5 步:“排序”(字典不可排序)基于值的字典
dict2 = sorted(vwobj, key=lambda p0: p0[1])
第 6 步:显示 dict2 的内容(0, 1, 2 '排序')
dict2
[('zero', 0), ('one', 1), ('two', 2)]
第 7 步:创建一个 lambda 函数(在 sorted() 函数之外)
def key(p0):
return p0[1]
第 8 步:使用视图对象作为参数
key(vwobj)
TypeError: 'dict_items' object does not support indexing
第 9 步:和一个 TypeError 结果。问题......为什么只能在 sorted() 函数的上下文中索引视图对象(我错过了什么)?
【问题讨论】:
标签: python sorting dictionary indexing