日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python字典排序及字典集合去重高阶教程

發布時間:2023/12/15 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python字典排序及字典集合去重高阶教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

學習目標:

字典dict排序:指定按照key排序或values排序。
對字典或者list去除重復元素。


學習內容:

提示:準備

dicta ={'a':1,'b':2,'d':7,'c':23,'m':21,'f':4}

1、字典dict按key排序,升序或降序
按照字典的key排序:

dicta_sorted = sorted(dicta.items(),key=lambda x :x[0]) print(dicta_sorted)

輸出結果:

[('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排序,升序或降序
升序

dicta_sorted = sorted(dicta.items(),key=lambda x :x[1]) print(dicta_sorted)

結果:

[('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(products):unique_price_set = set()for _, price in products:unique_price_set.add(price)return len(unique_price_set) products = [(143121312, 100), (432314553, 30),(32421912367, 150),(937153201, 30) ] print('number of unique price is: {}'.format(find_unique_price_using_set(products)))# 輸出 number of unique price is: 3

或者

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字典排序及字典集合去重高阶教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。