##### 现有字典```dict_x = {'a':99,'b':72,'c':34}```,如何根据value值来进行排序。
>1、可以用zip函数将数据转化元组
>2、使用内置函数```sorted```,传递```sorted```函数的```Key```参数
先看第一种:
```python
dict_x = {'a': 99, 'b': 72, 'c': 34}
# 可以先打印字典的key和value是什么,
print(dict_x.keys())
print(dict_x.values())
# 使用zip函数将字典的 key和value转换成对应的元组
a = list(zip(dict_x.values(),dict_x.keys()))
print(a)
# 使用sorted进行排序,顺序排序
res = sorted(a)
print(res)
# 倒序排序
res2 = sorted(a,reverse=True)
print(res2)
----------------------------------------------------------
输出:
dict_keys(['a', 'b', 'c'])
dict_values([99, 72, 34])
[(99, 'a'), (72, 'b'), (34, 'c')]
[(34, 'c'), (72, 'b'), (99, 'a')]
[(99, 'a'), (72, 'b'), (34, 'c')]
```
第二种:使用sorted函数的Key参数
```python
dict_x = {'a': 99, 'b': 72, 'c': 34}
#字典有一个 item函数
print(dict_x.items())
# 使用sorted函数的Key参数。顺序排序、
x = sorted(dict_x.items(),key=lambda x : x[1])
print(x)
-------------------------------------------------
输出:
dict_items([('a', 99), ('b', 72), ('c', 34)])
[('c', 34), ('b', 72), ('a', 99)]
```
解释一下 ```key```的参数中传递的```lambda```匿名函数
```lambda x : x[1]```,就是每次迭代 ```dict_x.items()```,把其中每一个项作为`x`传入到```lambda```匿名函数中去,其中每一项有两个元素,这里是对值进行排序,就取每一项的第二个元素作为`sorted`的`key`值来比较,就是`x[1]`。
- Python安装虚拟环境
- 使用pipenv来创建虚拟环境
- pipenv常用命令
- Python字典,列表,集合高阶操作
- 在列表,字典,集合中根据条件来筛选数据
- 为元组中的每个元素命名
- 统计序列中元素的出现频度
- 根据字典中值得大小,对字典中的项排序
- 让字典保持有序
- 快速找到多个字典中的公共键(key)
- 实现保存用户的历史记录功能
- 正向迭代和反向迭代
- 对迭代器做切片操作
- 在一个for语句中迭代多个可迭代对象
- Python字符串的高阶操作
- 拆分含有多种分隔符的字符串
- 如何判断字符串a是否以字符串b开头或结尾
- 将多个小字符拼接成一个大的字符串
- Redis
- Redis(一)
- redis简介
- Redis安装配置
- Redis(二)
- Redis通用命令
- 字符串
- hash
- list
- set
- zset
- Redis其他功能(三)
- 慢查询
- pipeline
- 发布订阅
- Bitmap
- HyperLogLog
- GEO
- Redis持久化
- RDB