今天碰到一个小问题,如果使用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)

代码就是这样,是不是很简单?!!!!