- 定义函数
get_sorted_keys_values()
,参数为dict_obj
(字典类型)。- 在函数内部,返回一个由两个列表组成的列表:一个列表是按字母顺序排列的字典键,另一个列表是它们对应的值。
import operator def get_sorted_keys_values(dict_obj): sort_key_dic_instance = dict(sorted(dict_obj.items(), key=operator.itemgetter(0))) # 按照key值升序 dict_keys=sort_key_dic_instance.keys() dict_value=sort_key_dic_instance.values() return [list(dict_keys),list(dict_value)] # 获取用户输入转为字典 dictionary = eval(input()) # 调用函数 print(get_sorted_keys_values(dictionary))
注意:itemgetter 用于获取对象的哪些位置的数据,参数即为代表位置的序号值,itemgetter 获取的不是值,而是定义了一个函数,通过该函数作用到目标对象上,取出目标对象对应维度的值。
sorted() 函数对所有可迭代的对象进行排序操作。
此题中sorted()函数对字典的键进行排序返回的并非是直接的字典需要用dict()转化为字典
sort 与 sorted 区别:
sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。
sorted 语法:
sorted(iterable, cmp=None, key=None, reverse=False)
参数说明:
- iterable -- 可迭代对象。
- cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。