初始化
<pre class="brush:php;toolbar:false"># 最常用这种
my_object = {
"a": 5,
"b": 6
}
# 如果你不喜欢写大括号和双引号:
my_object = dict(a=5, b=6)</pre>
#合併字典
<pre class="brush:php;toolbar:false">a = { "a": 5, "b": 5 }
b = { "c": 5, "d": 5 }
c = { **a, **b } #最简单的方式
assert c == { "a": 5, "b": 5, "c": 5, "d": 5 }
# 合并后还要修改,可以这样:
c = { **a, **b, "a": 10 }
assert c == { "a": 10, "b": 5, "c": 5, "d": 5 }
b["a"] = 10
c = { **a, **b }
assert c == { "a": 10, "b": 5, "c": 5, "d": 5 }</pre>
##字典推導式
<pre class="brush:php;toolbar:false"># 使用字典推导式来删除 key
a = dict(a=5, b=6, c=7, d=8)
remove = set(["c", "d"])
a = { k: v for k,v in a.items() if k not in remove }
# a = { "a": 5, "b": 6 }
# 使用字典推导式来保留 key
a = dict(a=5, b=6, c=7, d=8)
keep = remove
a = { k: v for k,v in a.items() if k in keep }
# a = { "c": 7, "d": 8 }
# 使用字典推导式来让所有的 value 加 1
a = dict(a=5, b=6, c=7, d=8)
a = { k: v+1 for k,v in a.items() }
# a = { "a": 6, "b": 7, "c": 8, "d": 9 }</pre>
Collections 標準函式庫
Collections 是Python 中的內建模組,它有幾個有用的字典子類,可以大大簡化Python 程式碼。我經常使用的其中兩個類,defaultdict 和 Counter。此外,由於它是 dict 的子類,因此它具有標準方法,如 items()、keys()、values() 等。
from collections import Counter counter = Counter() #counter 可以统计 list 里面元素的频率 counter.update(['a','b','a'] #此时 counter = Counter({'a': 2, 'b': 1}) #合并计数 counter.update({ "a": 10000, "b": 1 }) # Counter({'a': 10002, 'b': 2}) counter["b"] += 100 # Counter({'a': 10002, 'b': 102}) print(counter.most_common()) #[('a', 10002), ('b', 102)] print(counter.most_common(1)[0][0]) # => a
defaultdict 也是dict 的必殺技:
<pre class="brush:php;toolbar:false">from collections import defaultdict
# 如果字典的 value 是 字典
a = defaultdict(dict)
assert a[5] == {}
a[5]["a"] = 5
assert a[5] == { "a": 5 }
# 如果字典的 value 是列表
a = defaultdict(list)
assert a[5] == []
a[5].append(3)
assert a[5] == [3]
# 字典的 value 的默认值可以是 lambda 表达式
a = defaultdict(lambda: 10)
assert a[5] == 10
assert a[6] + 1 == 11
# 字典里面又是一个字典,不用这个,你要做多少初始化操作?
a = defaultdict(lambda: defaultdict(dict))
assert a[5][5] == {}</pre>
import json a = dict(a=5, b=6) # 字典转 JSON 字符串 json_string = json.dumps(a) # json_string = '{"a": 5, "b": 6}' # JSON 字符串转字典 assert a == json.loads(json_string) # 字典转 JSON 字符串保存在文件里 with open("dict.json", "w+") as f: json.dump(a, f) # 从 JSON 文件里恢复字典 with open("dict.json", "r") as f: assert a == json.load(f)######字典轉 Pandas##########
import pandas as pd # 字典转 pd.DataFrame df = pd.DataFrame([ { "a": 5, "b": 6 }, { "a": 6, "b": 7 } ]) # df = #ab # 056 # 167 # DataFrame 转回字典 a = df.to_dict(orient="records") # a = [ #{ "a": 5, "b": 6 }, #{ "a": 6, "b": 7 } # ] # 字典转 pd.Series srs = pd.Series({ "a": 5, "b": 6 }) # srs = # a5 # b6 # dtype: int64 # pd.Series 转回字典 a = srs.to_dict() # a = {'a': 5, 'b': 6}######
以上是Python中字典的基本操作方法有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python在自動化、腳本編寫和任務管理中表現出色。 1)自動化:通過標準庫如os、shutil實現文件備份。 2)腳本編寫:使用psutil庫監控系統資源。 3)任務管理:利用schedule庫調度任務。 Python的易用性和豐富庫支持使其在這些領域中成為首選工具。

要在有限的時間內最大化學習Python的效率,可以使用Python的datetime、time和schedule模塊。 1.datetime模塊用於記錄和規劃學習時間。 2.time模塊幫助設置學習和休息時間。 3.schedule模塊自動化安排每週學習任務。

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載
最受歡迎的的開源編輯器

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

WebStorm Mac版
好用的JavaScript開發工具