##### 現有字典```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