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

歡迎訪問 生活随笔!

生活随笔

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

python

11个好用到起飞的「Python字典」知识点!

發布時間:2024/9/15 python 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 11个好用到起飞的「Python字典」知识点! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? 人生苦短,快學Python!

關于Python字典,算是Python中相當重要的數據類型了。在你學會基礎知識后,字典這個概念,將會伴隨著你后面的學習和工作。

因此,這里有幾個相當重要的知識點,大家有必要知道。

字典是否是無序的

關于這個概念,很多朋友不一定清楚。

在 Python 2.7 中,字典是無序結構。字典項目的順序是混亂的。這意味著項目的順序是確定性和可重復的。

>>>?#?Python?2.7 >>>?a_dict?=?{'color':?'blue',?'fruit':?'apple',?'pet':?'dog'} >>>?a_dict {'color':?'blue',?'pet':?'dog',?'fruit':?'apple'} >>>?a_dict {'color':?'blue',?'pet':?'dog',?'fruit':?'apple'}

在 Python 3.5 中,字典仍然是無序的,但這次是隨機的數據結構。這意味著每次重新運行字典時,您都會得到不同的項目順序。

>>>?#?Python?3.5 >>>?a_dict?=?{'color':?'blue',?'fruit':?'apple',?'pet':?'dog'} >>>?a_dict {'color':?'blue',?'pet':?'dog',?'fruit':?'apple'} >>>?a_dict {'color':?'blue',?'pet':?'dog',?'fruit':?'apple'}

在 Python 3.6 及更高版本中,字典是有序的數據結構,這意味著它們保持元素的順序與它們被引入時的順序相同。

>>>?a_dict?=?{'color':?'blue',?'fruit':?'apple',?'pet':?'dog'} >>>?a_dict {'color':?'blue',?'fruit':?'apple',?'pet':?'dog'} >>>?a_dict {'color':?'blue',?'fruit':?'apple',?'pet':?'dog'}

鍵值互換

假設您有一本字典,由于某種原因需要將鍵轉換為值,值轉換為鍵,應該怎么做呢?

>>>?a_dict?=?{'one':?1,?'two':?2,?'thee':?3,?'four':?4} >>>?new_dict?=?{} >>>?for?key,?value?in?a_dict.items(): ...?????new_dict[value]?=?key ... >>>?new_dict {1:?'one',?2:?'two',?3:?'thee',?4:?'four'}

依據某種條件,過濾字典

有時候,你需要根據某種條件來過濾字典。那么配合if條件語句,是一個很好的選擇。

>>>?a_dict?=?{'one':?1,?'two':?2,?'thee':?3,?'four':?4} >>>?new_dict?=?{}??#?Create?a?new?empty?dictionary >>>?for?key,?value?in?a_dict.items(): ...?????if?value?<=?2: ...?????????new_dict[key]?=?value ... >>>?new_dict {'one':?1,?'two':?2}

利用字典中的值,做一些計算

在Python中遍歷字典時。需要進行一些計算也是很常見的。假設您已將公司銷售額的數據存儲在字典中,現在您想知道一年的總收入。

>>>?incomes?=?{'apple':?5600.00,?'orange':?3500.00,?'banana':?5000.00} >>>?total_income?=?0.00 >>>?for?value?in?incomes.values(): ...?????total_income?+=?value??#?Accumulate?the?values?in?total_income ... >>>?total_income 14100.0

字典推導式

字典推導式,是一個和列表推導式一樣,具有很強大功能的知識點。因此,大家一定要掌握。

例如,假設您有兩個數據列表,您需要根據它們創建一個新字典。

>>>?objects?=?['blue',?'apple',?'dog'] >>>?categories?=?['color',?'fruit',?'pet'] >>>?a_dict?=?{key:?value?for?key,?value?in?zip(categories,?objects)} >>>?a_dict {'color':?'blue',?'fruit':?'apple',?'pet':?'dog'}

利用字典推導式,實現鍵值轉換

你會發現,使用字典推導式,是一個更簡單、高效的操作。

>>>?a_dict?=?{'one':?1,?'two':?2,?'thee':?3,?'four':?4} >>>?new_dict?=?{value:?key?for?key,?value?in?a_dict.items()} >>>?new_dict {1:?'one',?2:?'two',?3:?'thee',?4:?'four'}

利用字典推導式,過濾字典

>>>?a_dict?=?{'one':?1,?'two':?2,?'thee':?3,?'four':?4} >>>?new_dict?=?{k:?v?for?k,?v?in?a_dict.items()?if?v?<=?2} >>>?new_dict {'one':?1,?'two':?2}

利用字典推導式,做一些計算

>>>?incomes?=?{'apple':?5600.00,?'orange':?3500.00,?'banana':?5000.00} >>>?total_income?=?sum([value?for?value?in?incomes.values()]) >>>?total_income 14100.0

字典排序

從 Python 3.6 開始,字典是有序的數據結構,因此如果您使用 Python 3.6(及更高版本),您將能夠通過使用sorted()并借助字典理解對任何字典的鍵,進行排序。

>>?incomes?=?{'apple':?5600.00,?'orange':?3500.00,?'banana':?5000.00} >>>?sorted_income?=?{k:?incomes[k]?for?k?in?sorted(incomes)} >>>?sorted_income {'apple':?5600.0,?'banana':?5000.0,?'orange':?3500.0}

內置函數,與字典配合使用

Python 提供了一些內置函數,這些函數在您處理集合(如字典)時可能會很有用。

map()函數

假設您有一個包含一堆產品價格的字典,并且您需要對它們應用折扣。

>>>?prices?=?{'apple':?0.40,?'orange':?0.35,?'banana':?0.25} >>>?def?discount(current_price): ...?????return?(current_price[0],?round(current_price[1]?*?0.95,?2)) ... >>>?new_prices?=?dict(map(discount,?prices.items())) >>>?new_prices {'apple':?0.38,?'orange':?0.33,?'banana':?0.24}

filter()函數

假設您想知道單價低于0.40的產品。

>>>?prices?=?{'apple':?0.40,?'orange':?0.35,?'banana':?0.25} >>>?def?has_low_price(price): ...?????return?prices[price]?<?0.4 ... >>>?low_price?=?list(filter(has_low_price,?prices.keys())) >>>?low_price ['orange',?'banana']

字典解包運算符

這是很多人不清楚的概念,Python 3.5 帶來了一個有趣的新特性,因此大家需要著重學習。

您可以使用字典解包運算符 ( **) 將兩個字典合并為一個新字典。

>>>?vegetable_prices?=?{'pepper':?0.20,?'onion':?0.55} >>>?fruit_prices?=?{'apple':?0.40,?'orange':?0.35,?'pepper':?.25} >>>?{**vegetable_prices,?**fruit_prices} {'pepper':?0.25,?'onion':?0.55,?'apple':?0.4,?'orange':?0.35}

如果您嘗試合并的字典,具有重復或公共鍵,則最右側字典的值將補充上。

E?N?D

各位伙伴們好,詹帥本帥搭建了一個個人博客和小程序,匯集各種干貨和資源,也方便大家閱讀,感興趣的小伙伴請移步小程序體驗一下哦!(歡迎提建議)

推薦閱讀

牛逼!Python常用數據類型的基本操作(長文系列第①篇)

牛逼!Python的判斷、循環和各種表達式(長文系列第②篇)

牛逼!Python函數和文件操作(長文系列第③篇)

牛逼!Python錯誤、異常和模塊(長文系列第④篇)

總結

以上是生活随笔為你收集整理的11个好用到起飞的「Python字典」知识点!的全部內容,希望文章能夠幫你解決所遇到的問題。

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