suchen
HeimBackend-EntwicklungPython-TutorialGrundlagen |. Detaillierte Erklärungen zu 11 Python-Wörterbuchverwendungen

Diese Ausgabe bietet Ihnen eine umfassende Analyse von 11 Methoden im Python-Wörterbuch, ich hoffe, sie wird Ihnen hilfreich sein.

Dictionary (Dictionary) ist eine häufig verwendete Datenstruktur, die von Python bereitgestellt wird. Sie wird zum Speichern von Daten mit Zuordnungsbeziehungen verwendet. Die Schlüssel und Werte werden durch Doppelpunkte getrennt , Elemente werden durch Kommas getrennt, das gesamte Wörterbuch wird in geschweifte Klammern {} eingeschlossen, das Format ist wie folgt:
dic = {key1 : value1, key2 : value2 }
Wörterbücher werden auch assoziative Arrays oder Hash-Tabellen genannt. Im Folgenden sind einige gängige Methoden zur Wörterbucherstellung aufgeführt:

# 方法1
dic1 = { 'Author' : 'Python当打之年' , 'age' : 99 , 'sex' : '男' }

# 方法2
lst = [('Author', 'Python当打之年'), ('age', 99), ('sex', '男')]
dic2 = dict(lst)

# 方法3
dic3 = dict( Author = 'Python当打之年', age = 99, sex = '男')

# 方法4
list1 = ['Author', 'age', 'sex']
list2 = ['Python当打之年', 99, '男']
dic4 = dict(zip(list1, list2))
字典创建的方式还有很多种,这里不再赘述。
字典由 dict 类代表,可以使用 dir(dict) 来查看该类包含哪些方法,输入命令,可以看到如下输出结果:
print('methods = ',methods)

methods = ['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
字典的方法和属性有很多种,这里我们重点介绍以下11种方法:
['clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']

1. dict.clear()

clear() 用于清空字典中所有元素(键-值对),对一个字典执行 clear() 方法之后,该字典就会变成一个空字典:
list1 = ['Author', 'age', 'sex']
list2 = ['Python当打之年', 99, '男']
dic1 = dict(zip(list1, list2))
# dic1 = {'Author': 'Python当打之年', 'age': 99, 'sex': '男'}

dic1.clear()
# dic1 = {}


2. dict.copy()

copy() 用于返回一个字典的浅拷贝:
list1 = ['Author', 'age', 'sex']
list2 = ['Python当打之年', 99, '男']
dic1 = dict(zip(list1, list2))

dic2 = dic1 # 浅拷贝: 引用对象
dic3 = dic1.copy() # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用
dic1['age'] = 18

# dic1 = {'Author': 'Python当打之年', 'age': 18, 'sex': '男'}
# dic2 = {'Author': 'Python当打之年', 'age': 18, 'sex': '男'}
# dic3 = {'Author': 'Python当打之年', 'age': 99, 'sex': '男'}
其中 dic2 是 dic1 的引用,所以输出结果是一致的,dic3 父对象进行了深拷贝,不会随dic1 修改而修改,子对象是浅拷贝所以随 dic1 的修改而修改,注意父子关系。
拓展深拷贝:copy.deepcopy()
import copy

list1 = ['Author', 'age', 'sex']
list2 = ['Python当打之年', [18,99], '男']
dic1 = dict(zip(list1, list2))

dic2 = dic1
dic3 = dic1.copy()
dic4 = copy.deepcopy(dic1)
dic1['age'].remove(18)
dic1['age'] = 20

# dic1 = {'Author': 'Python当打之年', 'age': 20, 'sex': '男'}
# dic2 = {'Author': 'Python当打之年', 'age': 20, 'sex': '男'}
# dic3 = {'Author': 'Python当打之年', 'age': [99], 'sex': '男'}
# dic4 = {'Author': 'Python当打之年', 'age': [18, 99], 'sex': '男'}
dic2 是 dic1 的引用,所以输出结果是一致的;dic3 父对象进行了深拷贝,不会随dic1 修改而修改,子对象是浅拷贝所以随 dic1 的修改而修改;dic4 进行了深拷贝,递归拷贝所有数据,相当于完全在另外内存中新建原字典,所以修改dic1不会影响dic4的数据

3. dict.fromkeys()

fromkeys() 使用给定的多个键创建一个新字典,值默认都是 None,也可以传入一个参数作为默认的值:
list1 = ['Author', 'age', 'sex']
dic1 = dict.fromkeys(list1)
dic2 = dict.fromkeys(list1, 'Python当打之年')

# dic1 = {'Author': None, 'age': None, 'sex': None}
# dic2 = {'Author': 'Python当打之年', 'age': 'Python当打之年', 'sex': 'Python当打之年'}

4. dict.get()

get() 用于返回指定键的值,也就是根据键来获取值,在键不存在的情况下,返回 None,也可以指定返回值:
list1 = ['Author', 'age', 'sex']
list2 = ['Python当打之年', [18,99], '男']
dic1 = dict(zip(list1, list2))

Author = dic1.get('Author')
# Author = Python当打之年
phone = dic1.get('phone')
# phone = None
phone = dic1.get('phone','12345678')
# phone = 12345678


5. dict.items()

items() 获取字典中的所有键-值对,一般情况下可以将结果转化为列表再进行后续处理:
list1 = ['Author', 'age', 'sex']
list2 = ['Python当打之年', [18,99], '男']
dic1 = dict(zip(list1, list2))
items = dic1.items()
print('items = ', items)
print(type(items))
print('items = ', list(items))

# items = dict_items([('Author', 'Python当打之年'), ('age', [18, 99]), ('sex', '男')])
# <class &#39;dict_items&#39;>
# items = [(&#39;Author&#39;, &#39;Python当打之年&#39;), (&#39;age&#39;, [18, 99]), (&#39;sex&#39;, &#39;男&#39;)]


6. dict.keys()

keys() 返回一个字典所有的键:
list1 = [&#39;Author&#39;, &#39;age&#39;, &#39;sex&#39;]
list2 = [&#39;Python当打之年&#39;, [18,99], &#39;男&#39;]
dic1 = dict(zip(list1, list2))
keys = dic1.keys()
print(&#39;keys = &#39;, keys)
print(type(keys))
print(&#39;keys = &#39;, list(keys))

# keys = dict_keys([&#39;Author&#39;, &#39;age&#39;, &#39;sex&#39;])
# <class &#39;dict_keys&#39;>
# keys = [&#39;Author&#39;, &#39;age&#39;, &#39;sex&#39;]


7. dict.pop()

pop() 返回指定键对应的值,并在原字典中删除这个键-值对:
list1 = [&#39;Author&#39;, &#39;age&#39;, &#39;sex&#39;]
list2 = [&#39;Python当打之年&#39;, [18,99], &#39;男&#39;]
dic1 = dict(zip(list1, list2))
sex = dic1.pop(&#39;sex&#39;)
print(&#39;sex = &#39;, sex)
print(&#39;dic1 = &#39;,dic1)

# sex = 男
# dic1 = {&#39;Author&#39;: &#39;Python当打之年&#39;, &#39;age&#39;: [18, 99]}


8. dict.popitem()

popitem() 删除字典中的最后一对键和值:
list1 = [&#39;Author&#39;, &#39;age&#39;, &#39;sex&#39;]
list2 = [&#39;Python当打之年&#39;, [18,99], &#39;男&#39;]
dic1 = dict(zip(list1, list2))
dic1.popitem()
print(&#39;dic1 = &#39;,dic1)

# dic1 = {&#39;Author&#39;: &#39;Python当打之年&#39;, &#39;age&#39;: [18, 99]}


9. dict.setdefault()

setdefault() 和 get() 类似, 但如果键不存在于字典中,将会添加键并将值设为default:
list1 = [&#39;Author&#39;, &#39;age&#39;, &#39;sex&#39;]
list2 = [&#39;Python当打之年&#39;, [18,99], &#39;男&#39;]
dic1 = dict(zip(list1, list2))
dic1.setdefault(&#39;Author&#39;, &#39;当打之年&#39;)
print(&#39;dic1 = &#39;,dic1)
# dic1 = {&#39;Author&#39;: &#39;Python当打之年&#39;, &#39;age&#39;: [18, 99], &#39;sex&#39;: &#39;男&#39;}
dic1.setdefault(&#39;name&#39;, &#39;当打之年&#39;)
print(&#39;dic1 = &#39;,dic1)
# dic1 = {&#39;Author&#39;: &#39;Python当打之年&#39;, &#39;age&#39;: [18, 99], &#39;sex&#39;: &#39;男&#39;, &#39;name&#39;: &#39;当打之年&#39;}


10. dict.update(dict1)

update() 字典更新,将字典dict1的键-值对更新到dict里,如果被更新的字典中己包含对应的键-值对,那么原键-值对会被覆盖,如果被更新的字典中不包含对应的键-值对,则添加该键-值对
list1 = [&#39;Author&#39;, &#39;age&#39;, &#39;sex&#39;]
list2 = [&#39;Python当打之年&#39;, [18,99], &#39;男&#39;]
dic1 = dict(zip(list1, list2))
print(&#39;dic1 = &#39;,dic1)
# dic1 = {&#39;Author&#39;: &#39;Python当打之年&#39;, &#39;age&#39;: [18, 99], &#39;sex&#39;: &#39;男&#39;}

list3 = [&#39;Author&#39;, &#39;phone&#39; ]
list4 = [&#39;当打之年&#39;, 12345678]
dic2 = dict(zip(list3, list4))
print(&#39;dic2 = &#39;,dic2)
# dic2 = {&#39;Author&#39;: &#39;当打之年&#39;, &#39;phone&#39;: 12345678}

dic1.update(dic2)
print(&#39;dic1 = &#39;,dic1)
# dic1 = {&#39;Author&#39;: &#39;当打之年&#39;, &#39;age&#39;: [18, 99], &#39;sex&#39;: &#39;男&#39;, &#39;phone&#39;: 12345678}

11. dict.values()

values() 返回一个字典所有的值:
list1 = [&#39;Author&#39;, &#39;age&#39;, &#39;sex&#39;]
list2 = [&#39;Python当打之年&#39;, [18,99], &#39;男&#39;]
dic1 = dict(zip(list1, list2))
values = dic1.values()
print(&#39;values = &#39;, values)
print(type(values))
print(&#39;values = &#39;, list(values))

# values = dict_values([&#39;Python当打之年&#39;, [18, 99], &#39;男&#39;])
# <class &#39;dict_values&#39;>
# values = [&#39;Python当打之年&#39;, [18, 99], &#39;男&#39;]

Das obige ist der detaillierte Inhalt vonGrundlagen |. Detaillierte Erklärungen zu 11 Python-Wörterbuchverwendungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Dieser Artikel ist reproduziert unter:Python当打之年. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Python vs. C: Lernkurven und BenutzerfreundlichkeitPython vs. C: Lernkurven und BenutzerfreundlichkeitApr 19, 2025 am 12:20 AM

Python ist leichter zu lernen und zu verwenden, während C leistungsfähiger, aber komplexer ist. 1. Python -Syntax ist prägnant und für Anfänger geeignet. Durch die dynamische Tippen und die automatische Speicherverwaltung können Sie die Verwendung einfach zu verwenden, kann jedoch zur Laufzeitfehler führen. 2.C bietet Steuerung und erweiterte Funktionen auf niedrigem Niveau, geeignet für Hochleistungsanwendungen, hat jedoch einen hohen Lernschwellenwert und erfordert manuellem Speicher und Typensicherheitsmanagement.

Python vs. C: Speicherverwaltung und KontrollePython vs. C: Speicherverwaltung und KontrolleApr 19, 2025 am 12:17 AM

Python und C haben signifikante Unterschiede in der Speicherverwaltung und -kontrolle. 1. Python verwendet die automatische Speicherverwaltung, basierend auf der Referenzzählung und der Müllsammlung, um die Arbeit von Programmierern zu vereinfachen. 2.C erfordert eine manuelle Speicherverwaltung und liefert mehr Kontrolle, aber die Komplexität und das Fehlerrisiko. Welche Sprache zu wählen sollte, sollte auf Projektanforderungen und Teamtechnologie -Stack basieren.

Python für wissenschaftliches Computer: Ein detailliertes AussehenPython für wissenschaftliches Computer: Ein detailliertes AussehenApr 19, 2025 am 12:15 AM

Zu den Anwendungen von Python im wissenschaftlichen Computer gehören Datenanalyse, maschinelles Lernen, numerische Simulation und Visualisierung. 1.Numpy bietet effiziente mehrdimensionale Arrays und mathematische Funktionen. 2. Scipy erweitert die Numpy -Funktionalität und bietet Optimierungs- und lineare Algebra -Tools. 3.. Pandas wird zur Datenverarbeitung und -analyse verwendet. 4.Matplotlib wird verwendet, um verschiedene Grafiken und visuelle Ergebnisse zu erzeugen.

Python und C: Das richtige Werkzeug findenPython und C: Das richtige Werkzeug findenApr 19, 2025 am 12:04 AM

Ob die Auswahl von Python oder C von den Projektanforderungen abhängt: 1) Python eignet sich aufgrund seiner prägnanten Syntax und reichhaltigen Bibliotheken für schnelle Entwicklung, Datenwissenschaft und Skripten; 2) C ist für Szenarien geeignet, die aufgrund seiner Zusammenstellung und des manuellen Speichermanagements eine hohe Leistung und die zugrunde liegende Kontrolle erfordern, wie z. B. Systemprogrammierung und Spielentwicklung.

Python für Datenwissenschaft und maschinelles LernenPython für Datenwissenschaft und maschinelles LernenApr 19, 2025 am 12:02 AM

Python wird in Datenwissenschaft und maschinellem Lernen häufig verwendet, wobei hauptsächlich auf seine Einfachheit und ein leistungsstarkes Bibliotheksökosystem beruhen. 1) Pandas wird zur Datenverarbeitung und -analyse verwendet, 2) Numpy liefert effiziente numerische Berechnungen, und 3) Scikit-Learn wird für die Konstruktion und Optimierung des maschinellen Lernens verwendet. Diese Bibliotheken machen Python zu einem idealen Werkzeug für Datenwissenschaft und maschinelles Lernen.

Python lernen: Ist 2 Stunden tägliches Studium ausreichend?Python lernen: Ist 2 Stunden tägliches Studium ausreichend?Apr 18, 2025 am 12:22 AM

Ist es genug, um Python für zwei Stunden am Tag zu lernen? Es hängt von Ihren Zielen und Lernmethoden ab. 1) Entwickeln Sie einen klaren Lernplan, 2) Wählen Sie geeignete Lernressourcen und -methoden aus, 3) praktizieren und prüfen und konsolidieren Sie praktische Praxis und Überprüfung und konsolidieren Sie und Sie können die Grundkenntnisse und die erweiterten Funktionen von Python während dieser Zeit nach und nach beherrschen.

Python für die Webentwicklung: SchlüsselanwendungenPython für die Webentwicklung: SchlüsselanwendungenApr 18, 2025 am 12:20 AM

Zu den wichtigsten Anwendungen von Python in der Webentwicklung gehören die Verwendung von Django- und Flask -Frameworks, API -Entwicklung, Datenanalyse und Visualisierung, maschinelles Lernen und KI sowie Leistungsoptimierung. 1. Django und Flask Framework: Django eignet sich für die schnelle Entwicklung komplexer Anwendungen, und Flask eignet sich für kleine oder hochmobile Projekte. 2. API -Entwicklung: Verwenden Sie Flask oder Djangorestframework, um RESTFUFFUPI zu erstellen. 3. Datenanalyse und Visualisierung: Verwenden Sie Python, um Daten zu verarbeiten und über die Webschnittstelle anzuzeigen. 4. Maschinelles Lernen und KI: Python wird verwendet, um intelligente Webanwendungen zu erstellen. 5. Leistungsoptimierung: optimiert durch asynchrones Programmieren, Caching und Code

Python vs. C: Erforschung von Leistung und Effizienz erforschenPython vs. C: Erforschung von Leistung und Effizienz erforschenApr 18, 2025 am 12:20 AM

Python ist in der Entwicklungseffizienz besser als C, aber C ist in der Ausführungsleistung höher. 1. Pythons prägnante Syntax und reiche Bibliotheken verbessern die Entwicklungseffizienz. 2. Die Kompilierungsmerkmale von Compilation und die Hardwarekontrolle verbessern die Ausführungsleistung. Bei einer Auswahl müssen Sie die Entwicklungsgeschwindigkeit und die Ausführungseffizienz basierend auf den Projektanforderungen abwägen.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung