你必須知道的Python?Dict和Set實用技巧分享
一、Dict(字典):鍵值對的魔法
1. 基本用法(創(chuàng)建和訪問)
person = {"name": "Alice", "age": 25, "city": "Shanghai"}
print(person["name"]) # 輸出:Alice
2. 字典的高效查找
字典的查找速度極快,時間復雜度為 O(1)。相比 list 的 O(n),處理大量數(shù)據(jù)時優(yōu)勢明顯。
3. 字典推導式
squares = {x: x*x for x in range(1, 6)}
print(squares) # 輸出:{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
4. get() 方法,優(yōu)雅處理 KeyError
person = {"name": "Alice", "age": 25}
score = person.get("score", 0)
print(score) # 輸出:0
5. 合并字典的正確姿勢
a = {"x": 1, "y": 2}
b = {"y": 3, "z": 4}
c = {**a, **b}
print(c) # 輸出:{'x': 1, 'y': 3, 'z': 4}
6.注意事項
- dict (字典)是不允許一個鍵創(chuàng)建兩次的,但是在創(chuàng)建 dict (字典)的時候如果出現(xiàn)了一個鍵值賦予了兩次,會以最后一次賦予的值為準
- dict (字典)鍵必須不可變,可是鍵可以用數(shù)字,字符串或元組充當,但是就是不能使用列表
7.dict (字典) 的函數(shù)和方法
| 方法和函數(shù) | 描述 |
|---|---|
| len(dict) | 計算字典元素個數(shù) |
| str(dict) | 輸出字典可打印的字符串表示 |
| type(variable) | 返回輸入的變量類型,如果變量是字典就返回字典類型 |
| dict.clear() | 刪除字典內(nèi)所有元素 |
| dict.copy() | 返回一個字典的淺復制 |
| dict.values() | 以列表返回字典中的所有值 |
| popitem() | 隨機返回并刪除字典中的一對鍵和值 |
| dict.items() | 以列表返回可遍歷的(鍵, 值) 元組數(shù)組 |
二、Set(集合):去重與高效運算的利器
1. 基本用法(創(chuàng)建)
set1=set([123,456,789])
print(set1)
fruits = {"apple", "banana", "orange"}
fruits.add("pear")
print(fruits)
2. 集合去重
nums = [1, 2, 2, 3, 4, 4, 5]
unique_nums = set(nums)
print(unique_nums) # 輸出:{1, 2, 3, 4, 5}
3. 集合的高效運算
- 交集:
& - 并集:
| - 差集:
-
a = {1, 2, 3}
b = {2, 3, 4}
print(a & b) # 輸出:{2, 3}
print(a | b) # 輸出:{1, 2, 3, 4}
print(a - b) # 輸出:{1}
4. 集合推導式
even = {x for x in range(10) if x % 2 == 0}
print(even) # 輸出:{0, 2, 4, 6, 8}
三、總結(jié)
Dict 適合存儲映射關(guān)系,查找速度極快
Set 適合去重和集合運算,效率高
掌握推導式、合并、去重等技巧,讓你的代碼更 Pythonic!
到此這篇關(guān)于你必須知道的Python Dict和Set實用技巧分享的文章就介紹到這了,更多相關(guān)Python Dict和Set技巧內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實現(xiàn)網(wǎng)上購物系統(tǒng)
這篇文章主要為大家詳細介紹了python實現(xiàn)網(wǎng)上購物系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-06-06
python Pandas庫基礎(chǔ)分析之時間序列的處理詳解
這篇文章主要介紹了python Pandas庫基礎(chǔ)分析之時間序列的處理詳解,Pandas作為Python環(huán)境下的數(shù)據(jù)分析庫,更是提供了強大的日期數(shù)據(jù)處理的功能,是處理時間序列的利器,需要的朋友可以參考下2019-07-07
使用python快速在局域網(wǎng)內(nèi)搭建http傳輸文件服務的方法
這篇文章主要介紹了使用 python快速在局域網(wǎng)內(nèi)搭建http傳輸文件服務,但是這種方法不要傳輸機密文件,安全性不高,只用到http協(xié)議沒有使用任何加密協(xié)議,具體實現(xiàn)方法跟隨小編一起看看吧2019-11-11
python實現(xiàn)批量處理將圖片粘貼到另一張圖片上并保存
今天小編就為大家分享一篇python實現(xiàn)批量處理將圖片粘貼到另一張圖片上并保存,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
keras 自定義loss損失函數(shù),sample在loss上的加權(quán)和metric詳解
這篇文章主要介紹了keras 自定義loss損失函數(shù),sample在loss上的加權(quán)和metric詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05
Python+PyQt5開發(fā)一個智能鍵盤模擬輸入器(附整體源碼)
在當今數(shù)字化辦公時代,自動化工具已經(jīng)成為提高工作效率的重要利器,今天我要向大家介紹一款基于PyQt5和pynput庫開發(fā)的智能鍵盤模擬輸入器,感興趣的小伙伴可以了解下2025-10-10

