Heim > Backend-Entwicklung > Python-Tutorial > Was sind die grundlegenden Operationsmethoden des Wörterbuchs in Python?

Was sind die grundlegenden Operationsmethoden des Wörterbuchs in Python?

PHPz
Freigeben: 2023-04-21 17:43:20
nach vorne
1008 Leute haben es durchsucht

Initialisierung

<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"># 最常用这种 my_object = { &quot;a&quot;: 5, &quot;b&quot;: 6 } # 如果你不喜欢写大括号和双引号: my_object = dict(a=5, b=6)</pre><div class="contentsignin">Nach dem Login kopieren</div></div><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">a = { &quot;a&quot;: 5, &quot;b&quot;: 5 } b = { &quot;c&quot;: 5, &quot;d&quot;: 5 } c = { **a, **b } #最简单的方式 assert c == { &quot;a&quot;: 5, &quot;b&quot;: 5, &quot;c&quot;: 5, &quot;d&quot;: 5 } # 合并后还要修改,可以这样: c = { **a, **b, &quot;a&quot;: 10 } assert c == { &quot;a&quot;: 10, &quot;b&quot;: 5, &quot;c&quot;: 5, &quot;d&quot;: 5 } b[&quot;a&quot;] = 10 c = { **a, **b } assert c == { &quot;a&quot;: 10, &quot;b&quot;: 5, &quot;c&quot;: 5, &quot;d&quot;: 5 }</pre><div class="contentsignin">Nach dem Login kopieren</div></div>

合并字典

<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"># 使用字典推导式来删除 key a = dict(a=5, b=6, c=7, d=8) remove = set([&quot;c&quot;, &quot;d&quot;]) a = { k: v for k,v in a.items() if k not in remove } # a = { &quot;a&quot;: 5, &quot;b&quot;: 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 = { &quot;c&quot;: 7, &quot;d&quot;: 8 } # 使用字典推导式来让所有的 value 加 1 a = dict(a=5, b=6, c=7, d=8) a = { k: v+1 for k,v in a.items() } # a = { &quot;a&quot;: 6, &quot;b&quot;: 7, &quot;c&quot;: 8, &quot;d&quot;: 9 }</pre><div class="contentsignin">Nach dem Login kopieren</div></div>

字典推导式

<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">from collections import Counter counter = Counter() #counter 可以统计 list 里面元素的频率 counter.update(['a','b','a'] #此时 counter = Counter({'a': 2, 'b': 1}) #合并计数 counter.update({ &quot;a&quot;: 10000, &quot;b&quot;: 1 }) # Counter({'a': 10002, 'b': 2}) counter[&quot;b&quot;] += 100 # Counter({'a': 10002, 'b': 102}) print(counter.most_common()) #[('a', 10002), ('b', 102)] print(counter.most_common(1)[0][0]) # =&gt; a</pre><div class="contentsignin">Nach dem Login kopieren</div></div>

Collections 标准库

Collections 是 Python 中的一个内置模块,它有几个有用的字典子类,可以大大简化 Python 代码。我经常使用的其中两个类,defaultdict 和 Counter。此外,由于它是 dict 的子类,因此它具有标准方法,如 items()、keys()、values() 等。

<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">from collections import defaultdict # 如果字典的 value 是 字典 a = defaultdict(dict) assert a[5] == {} a[5][&quot;a&quot;] = 5 assert a[5] == { &quot;a&quot;: 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><div class="contentsignin">Nach dem Login kopieren</div></div>

defaultdict 也是 dict 的必杀技:

<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">import json a = dict(a=5, b=6) # 字典转 JSON 字符串 json_string = json.dumps(a) # json_string = '{&quot;a&quot;: 5, &quot;b&quot;: 6}' # JSON 字符串转字典 assert a == json.loads(json_string) # 字典转 JSON 字符串保存在文件里 with open(&quot;dict.json&quot;, &quot;w+&quot;) as f: json.dump(a, f) # 从 JSON 文件里恢复字典 with open(&quot;dict.json&quot;, &quot;r&quot;) as f: assert a == json.load(f)</pre><div class="contentsignin">Nach dem Login kopieren</div></div>

字典转 JSON

我们通常说的 JSON 就是指 JSON 字符串,它是一个字符串。Dict 可以转成 JSON 格式的字符串。

<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">import pandas as pd # 字典转 pd.DataFrame df = pd.DataFrame([ { &quot;a&quot;: 5, &quot;b&quot;: 6 }, { &quot;a&quot;: 6, &quot;b&quot;: 7 } ]) # df = #ab # 056 # 167 # DataFrame 转回字典 a = df.to_dict(orient=&quot;records&quot;) # a = [ #{ &quot;a&quot;: 5, &quot;b&quot;: 6 }, #{ &quot;a&quot;: 6, &quot;b&quot;: 7 } # ] # 字典转 pd.Series srs = pd.Series({ &quot;a&quot;: 5, &quot;b&quot;: 6 }) # srs = # a5 # b6 # dtype: int64 # pd.Series 转回字典 a = srs.to_dict() # a = {'a': 5, 'b': 6}</pre><div class="contentsignin">Nach dem Login kopieren</div></div>

字典转 Pandas

rrreee

Wörterbuch zusammenführen 🎜🎜rrreee🎜🎜Wörterbuchverständnis🎜🎜rrreee🎜🎜Collections-Standardbibliothek🎜 🎜 Sammlungen ist ein in Python integriertes Modul, das über mehrere nützliche Wörterbuch-Unterklassen verfügt, die Python-Code erheblich vereinfachen können. Zwei der Klassen, die ich häufig verwende, sind defaultdict und Counter. Da es sich außerdem um eine Unterklasse von dict handelt, verfügt es über Standardmethoden wie „items()“, „keys()“, „values()“ usw. 🎜🎜rrreee🎜🎜defaultdict ist auch das Nirvana von dict: 🎜🎜rrreee🎜🎜Dictionary to JSON🎜🎜Was wir normalerweise JSON nennen, bezieht sich auf einen JSON-String, der ein ist Zeichenfolge. Dict kann in einen String im JSON-Format konvertiert werden. 🎜🎜rrreee🎜🎜Wörterbuch zu Pandas🎜🎜rrreee🎜

Das obige ist der detaillierte Inhalt vonWas sind die grundlegenden Operationsmethoden des Wörterbuchs in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage