python字典排序及字典集合去重高阶教程
生活随笔
收集整理的這篇文章主要介紹了
python字典排序及字典集合去重高阶教程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學習目標:
字典dict排序:指定按照key排序或values排序。
對字典或者list去除重復元素。
學習內容:
提示:準備
dicta ={'a':1,'b':2,'d':7,'c':23,'m':21,'f':4}1、字典dict按key排序,升序或降序
按照字典的key排序:
輸出結果:
[('a', 1), ('b', 2), ('c', 23), ('d', 7), ('f', 4), ('m', 21)]默認升序,如果要降序,則:
dicta_sorted = sorted(dicta.items(),key=lambda x :x[0],reverse=True) print(dicta_sorted)輸出結果:
[('m', 21), ('f', 4), ('d', 7), ('c', 23), ('b', 2), ('a', 1)]2、 字典dict按values排序,升序或降序
升序
結果:
[('a', 1), ('b', 2), ('f', 4), ('d', 7), ('m', 21), ('c', 23)]降序:
dicta_sorted = sorted(dicta.items(),key=lambda x :x[1],reverse=True) print(dicta_sorted)結果:
[('c', 23), ('m', 21), ('d', 7), ('f', 4), ('b', 2), ('a', 1)]3、 對字典dict或者list中去重,輸出去重后的個數
不能用for循環一個個去遍歷判斷values是否重復,太消耗時間,充分利用dict查找數據和set去重的特性。
或者
def find_unique_price_using_set_dict(products):dist_products=dict(products)set_price=set(dist_products.values())return len(set_price) products = [(143121312, 100), (432314553, 30),(32421912367, 150),(937153201, 30) ]import time # 計算集合_字典版本的時間 start_using_set = time.perf_counter() find_unique_price_using_set_dict(products) end_using_set = time.perf_counter() print("time elapse using set_dict: {}".format(end_using_set - start_using_set))兩個方法差不多,運行時間都很短,去重效率很高。對一萬個數據去重只用0.0123秒
4、 掌握循環語句
學習時間:
理論10分鐘,時間30分鐘
學習產出:
掌握:
1、字典dict排序,可指定按照key排序,也可以按照values排序。
2、集合set去重操作。
總結
以上是生活随笔為你收集整理的python字典排序及字典集合去重高阶教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python使用redis教程 敲黑板划
- 下一篇: python进阶:搞懂装饰器和切面编程