Grundlegende Operationen von Wörterbüchern und Mengen in Python

Zunächst die grundlegende Funktionsweise des Wörterbuchs

1.1 Leeres Wörterbuch und Wörterbuchaktualisierung

1.1.1 Eintrag hinzufügen 

Um ein leeres Wörterbuch zu definieren, müssen Sie der Wörterbuchvariablen ein Paar leere Klammern „{}“ zuweisen.

 Grammatikformat: Wörterbuchname [Schlüssel] = Wert

>>> dictArea = {}
>>> dictArea
{}
>>> dictArea['中国'] = 1200
>>> dictArea['美国'] = 1100
>>> dictArea['法国'] = 1000
>>> dictArea
{'中国': 1200, '美国': 1100, '法国': 1000}

1.1.2 Einen Eintrag ändern 

Grammatikformat: Wörterbuchname [Schlüssel] = Wert

>>> dictArea
{'中国': 1200, '美国': 1100, '法国': 1000}
>>> dictArea['法国'] = 900
>>> dictArea
{'中国': 1200, '美国': 1100, '法国': 900}

Es ist ersichtlich, dass das Ändern eines Eintrags und das Hinzufügen eines Eintrags derselbe Vorgang sind. Wenn also ein Eintrag geändert wird, muss der angegebene Schlüssel einem vorhandenen Eintrag entsprechen, andernfalls wird ein Eintrag hinzugefügt. Es ist außerdem zu beachten, dass durch die Änderung eines Eintrags im Wesentlichen der mit dem Schlüssel verknüpfte Wert geändert wird und ein eindeutiger Schlüssel nicht geändert werden kann.

1.2 Wörterbucheinträge löschen 

Es gibt viele Möglichkeiten, Wörterbucheinträge zu löschen, aber alle verwenden Tasten, um die zu löschenden Einträge anzugeben. 

 1.2.1 Verwenden Sie den Befehl del, um einen bestimmten Eintrag zu löschen

 Syntaxformat: del Wörterbuchname [Schlüssel]

>>> dictArea
{'中国': 1200, '美国': 1100, '法国': 900}
>>> del dictArea['法国']
>>> dictArea
{'中国': 1200, '美国': 1100}

1.2.2 Verwenden Sie die Methode pop(), um den angegebenen Eintrag zu löschen 

 Grammatikformat: Wörterbuchname.pop(Schlüssel, Standardwert)

>>> dictArea
{'中国': 1200, '美国': 1100}
>>> dictArea.pop('美国')
1100
>>> dictArea
{'中国': 1200}

Hinweis: Stellen Sie bei Verwendung der Methode pop() sicher, dass der gelöschte Schlüssel im Wörterbuch vorhanden ist. Wenn Sie nicht sicher sind, ob er vorhanden ist, müssen Sie einen Standardwert angeben, andernfalls wird ein Fehler gemeldet. Darüber hinaus muss mindestens ein Parameter zur Angabe des Schlüssels enthalten sein. Wenn alle Parameter Standard sind, meldet das System einen Fehler. 

 1.2.3 Wörterbucheinträge nach dem Zufallsprinzip mit der Methode popitem() löschen

Grammatikformat: Wörterbuchname.popitem() 

>>> dictArea
{'中国': 1500, '美国': 1400, '法国': 1300, '日本': 1200, '英国': 1100}
>>> dictArea.popitem()
('英国', 1100)
>>> dictArea
{'中国': 1500, '美国': 1400, '法国': 1300, '日本': 1200}

Gelöschte Einträge werden als Tupel zurückgegeben. Nach Version 3.6 gibt die Methode popitem() standardmäßig das zuletzt zum Wörterbuch hinzugefügte Element zurück. 

1.2.4 Wörterbucheinträge mit der Methode clear() leeren 

 Grammatikformat: Wörterbuchname.clear()

>>> dictArea
{'中国': 1500, '美国': 1400, '法国': 1300, '日本': 1200}
>>> dictArea.clear()
>>> dictArea
{}

Durch Aufrufen der Methode „clear()“ für das Wörterbuch werden alle Einträge entfernt, es handelt sich jedoch immer noch um ein leeres Wörterbuch. 

1.2.5 Löschen Sie das gesamte Wörterbuch direkt 

del Wörterbuchname 

>>> dictArea
{'中国': 1500, '美国': 1400, '法国': 1300, '日本': 1200, '英国': 1100}
>>> del dictArea
>>> dictArea
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'dictArea' is not defined

1.3 Wörterbucheinträge finden 

 1.3.1 Mitgliedschaftsbetreiber in

Grammatikformat: Schlüssel im Wörterbuch 

>>> dictArea
{'中国': 1500, '美国': 1400, '法国': 1300, '日本': 1200, '英国': 1100}
>>> '中国' in dictArea
True
>>> '俄国' in dictArea
False

1.3.2 Ermitteln Sie den Wert eines Eintrags mit der Methode get() 

DictionaryName.get(Schlüssel, Standard) 

>>> dictArea
{'中国': 1500, '美国': 1400, '法国': 1300, '日本': 1200, '英国': 1100}
>>> dictArea.get('中国')
1500
>>> dictArea.get('俄国')
>>> 

1.4 Durchquerung von Wörterbüchern 

1.4.1 Durchlaufen Sie alle Schlüssel im Wörterbuch

Wörterbücher verfügen über eine Methode namens „keys()“, die alle Schlüssel im Wörterbuch zurückgibt.

>>> dictAreas
{'中国': 1500, '美国': 1300, '英国': 1200, '法国': 1000}
>>> dictAreas.keys()
dict_keys(['中国', '美国', '英国', '法国'])
>>> for key in dictAreas.keys():
    print(key)

中国
美国
英国
法国
>>> for key in dictAreas.keys():
    print(key,dictAreas[key])

中国 1500
美国 1300
英国 1200
法国 1000

 1.4.2 Durchlaufen Sie alle Werte im Wörterbuch

Das Wörterbuch stellt außerdem eine Methode „values()“ zur Verfügung, um alle Werte zurückzugeben.

>>> dictAreas
{'中国': 1500, '美国': 1300, '英国': 1200, '法国': 1000}
>>> dictAreas.values()
dict_values([1500, 1300, 1200, 1000])
>>> for value in dictAreas.values():
    print(value)

1500
1300
1200
1000

  1.4.3 Durchlaufen Sie alle Einträge im Wörterbuch 

Die Methode items() des Wörterbuchs kann alle Elemente in der Form (Schlüssel, Wert) zurückgeben.

>>> dictAreas
{'中国': 1500, '美国': 1300, '英国': 1200, '法国': 1000}
>>> dictAreas.items()
dict_items([('中国', 1500), ('美国', 1300), ('英国', 1200), ('法国', 1000)])
>>> for item in dictAreas.items():
    print(item)

('中国', 1500)
('美国', 1300)
('英国', 1200)
('法国', 1000)

1.5 Sortieren von Wörterbüchern 

Die Einträge im Wörterbuch sind nicht in der richtigen Reihenfolge. Streng genommen unterstützt das Wörterbuch keine Sortierung. Wir können die Einträge im Wörterbuch nur in der von uns gewünschten Reihenfolge anzeigen.

Da es bei der Sortierung von Chinesisch um Codierungsprobleme geht, wird der Schlüssel auf Englisch geändert.

>>> dictArea
{'China': 1500, 'Russia': 1300, 'Canada': 1200}
>>> sorted(dictArea)
['Canada', 'China', 'Russia']
>>> dictArea
{'China': 1500, 'Russia': 1300, 'Canada': 1200}
>>> ls = sorted(dictArea)
>>> ls
['Canada', 'China', 'Russia']
>>> for country in ls:
    print(country,dictArea[country])

Canada 1200
China 1500
Russia 1300

1.6 Zusammenführen von Wörterbüchern 

1.6.1 Verwendung der for-Schleife

>>> dictArea1
{'中国': 1500, '法国': 1300, '美国': 1200, '英国': 1000}
>>> dictArea2
{'张三': 1100, '李四': 1000, '王五': 900, '小阿丁': 500}
>>> for k,v in dictArea2.items():
    dictArea1[k] = v

>>> dictArea1
{'中国': 1500, '法国': 1300, '美国': 1200, '英国': 1000, '张三': 1100, '李四': 1000, '王五': 900, '小阿丁': 500}
>>> dictArea2
{'张三': 1100, '李四': 1000, '王五': 900, '小阿丁': 500}

 1.6.2 Erstellen Sie die update()-Methode des Wörterbuchs

update() ist eine Wörterbuchmethode, mit der das Parameterwörterbuch zum Wörterbuch der aufrufenden Methode hinzugefügt wird.

Grammatikformat: Wörterbuchname.update(Parameter-Wörterbuchname) 

>>> dictArea1
{'中国': 1500, '法国': 1300, '美国': 1200, '英国': 1000}
>>> dictArea2
{'张三': 1100, '李四': 1000, '王五': 900, '小阿丁': 500}
>>> dictArea1.update(dictArea2)
>>> dictArea1
{'中国': 1500, '法国': 1300, '美国': 1200, '英国': 1000, '张三': 1100, '李四': 1000, '王五': 900, '小阿丁': 500}
>>> dictArea2
{'张三': 1100, '李四': 1000, '王五': 900, '小阿丁': 500}

  1.6.3 Verwendung der Funktion dict() 

>>> dictArea1
{'中国': 1500, '法国': 1300, '美国': 1200, '英国': 1000}
>>> dictArea2
{'张三': 1100, '李四': 1000, '王五': 900, '小阿丁': 500}
>>> ls = list(dictArea1.items()) + list(dictArea2.items())
>>> ls
[('中国', 1500), ('法国', 1300), ('美国', 1200), ('英国', 1000), ('张三', 1100), ('李四', 1000), ('王五', 900), ('小阿丁', 500)]
>>> dictArea = dict(ls)
>>> dictArea
{'中国': 1500, '法国': 1300, '美国': 1200, '英国': 1000, '张三': 1100, '李四': 1000, '王五': 900, '小阿丁': 500}
>>> dictArea1
{'中国': 1500, '法国': 1300, '美国': 1200, '英国': 1000}
>>> dictArea2
{'张三': 1100, '李四': 1000, '王五': 900, '小阿丁': 500}

  1.6.4 Eine andere Form der Verwendung der Funktion dict()  

>>> dictArea1
{'中国': 1500, '法国': 1300, '美国': 1200, '英国': 1000}
>>> dictArea2
{'张三': 1100, '李四': 1000, '王五': 900, '小阿丁': 500}
>>> dictArea1 = dict(dictArea1,**dictArea2)
>>> dictArea1
{'中国': 1500, '法国': 1300, '美国': 1200, '英国': 1000, '张三': 1100, '李四': 1000, '王五': 900, '小阿丁': 500}
>>> dictArea2
{'张三': 1100, '李四': 1000, '王五': 900, '小阿丁': 500}

Hinweis: Im Allgemeinen sind die Schlüssel in den beiden an der Zusammenführung beteiligten Wörterbüchern unterschiedlich. Wenn in den beiden Wörterbüchern derselbe Schlüssel vorkommt, bleibt nach der Zusammenführung nur ein Satz von Einträgen erhalten, die den geänderten Schlüssel enthalten.

Zweitens die grundlegende Funktionsweise der Sammlung 

 2.1 Elemente hinzufügen

 Funktion oder Methode: s,add(item) oder s.update(item)

Unterschied: s.add(item) fügt den Parameter item als Element zur Menge s hinzu, wenn item eine Sequenz ist, wird er als Ganzes zur Menge hinzugefügt. Das Element als Parameter kann nur unveränderliche Daten sein.

s.update(item) teilt und dedupliziert die Elemente im Parametersequenzelement und fügt sie dem Satz hinzu. Das Parameterelement kann variable Daten sein.

>>> s = {1,2,3}
>>> s.add((2,3,4))
>>> s
{1, 2, 3, (2, 3, 4)}
>>> s.add([2,3,4])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
>>> s = {1,2,3}
>>> s.update([2,3,4])
>>> s
{1, 2, 3, 4}

 2.2 Elemente löschen 

 Funktion oder Methode: s.remove(item) oder s.discard(item) oder s.pop() oder s.clear()

>>> s = {1,2,3,4}
>>> s.remove(2)
>>> s
{1, 3, 4}
>>> s.remove(5)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 5
>>> s = {1,2,3,4}
>>> s.discard(3)
>>> s
{1, 2, 4}
>>> s.discard(5)
>>> 
>>> s = {1,2,3,4}
>>> s.pop()           //随机删除
1
>>> s = {1,2,3,4}
>>> s.clear()
>>> s
set()

  2.3 Urteil des Mitglieds 

Grammatikformat: Element in s 

 2.4 Mathematische Operationen auf Mengen  

2.4.1 Union 

 Betreiber: A|B  

Methode: A. Gewerkschaft(B)

>>> A = {1,2,3,4}
>>> B = {3,4,5,6}
>>> A|B
{1, 2, 3, 4, 5, 6}
>>> A
{1, 2, 3, 4}
>>> B
{3, 4, 5, 6}
>>> A.union(B)
{1, 2, 3, 4, 5, 6}
>>> B
{3, 4, 5, 6}

 2.4.2 Kreuzung 

Betreiber: A & B

Methode: A. Schnittpunkt(B) 

>>> A
{1, 2, 3, 4}
>>> B
{3, 4, 5, 6}
>>> A & B
{3, 4}
>>> A
{1, 2, 3, 4}
>>> B
{3, 4, 5, 6}
>>> A.intersection(B)
{3, 4}

  2.4.3 Differenzsatz 

Betreiber: A - B

Methode: A.Differenz(B)  

>>> A
{1, 2, 3, 4}
>>> B
{3, 4, 5, 6}
>>> A - B
{1, 2}
>>> A
{1, 2, 3, 4}
>>> B
{3, 4, 5, 6}

   2.4.4 Symmetrische Differenz finden 

 Betreiber: A^B

Methode: A.symmetric_difference(B)

>>> A
{1, 2, 3, 4}
>>> B
{3, 4, 5, 6}
>>> A.symmetric_difference(B)
{1, 2, 5, 6}
>>> A
{1, 2, 3, 4}
>>> B
{3, 4, 5, 6}

 

 

 

 

 

 

 

 

 

 

Ich denke du magst

Origin blog.csdn.net/m0_51769031/article/details/127476677
Empfohlen
Rangfolge