今天碰到一个小问题,如果使用python对字典的key/value进行排序呢?
字典内容为:
{
'from': 'en',
'to': 'zh',
'query': "chinese",
'transtype': 'translang',
'simple_means_flag': '3',
}
其实这是个很简单的问题,无非是取到key/value存入数组,然后再对数组进行排序即可。
reverse为True时,以字母倒序;为False时,以字母正序
第一种方法:
def dict_key_sort(dic, reverse=False):
"""通过字典键值对的键key排序"""
keys = dic.keys()
print(keys)
print(sorted(keys, reverse=reverse))
return sorted(keys, reverse=reverse)
def dict_value_sort(dic, reverse=False):
"""通过字典键值对的值value排序"""
values = dic.values()
print(values)
print(sorted(values, reverse=reverse))
return sorted(values, reverse=reverse)
第二种方法:
def dict_key_sort(dic, reverse=False):
"""通过字典键值对的键key排序"""
keys = []
for key, value in dic.items():
keys.append(key)
print(sorted(keys, reverse=reverse))
return sorted(keys, reverse=reverse)
def dict_value_sort(dic, reverse=False):
"""通过字典键值对的值value排序"""
values = []
for key, value in dic.items():
values.append(value)
print(sorted(values, reverse=reverse))
return sorted(values, reverse=reverse)
第三种方法:
def dict_key_sort(dict, reverse=False):
"""通过字典键值对的键key排序"""
keys = []
for item in dict.items():
keys.append(item[0])
print(sorted(keys, reverse=reverse))
return sorted(keys, reverse=reverse)
def dict_value_sort(dict, reverse=False):
"""通过字典键值对的值value排序"""
values = []
for item in dict.items():
values.append(item[1])
print(sorted(values, reverse=reverse))
return sorted(values, reverse=reverse)
代码就是这样,是不是很简单?!!!!