Im vorherigen Abschnitt haben wir etwas über Wörterbuchmethoden gelernt. In diesem Kapitel lernen wir Hybridwörterbücher, Wörterbuchdurchquerung und Wörterbuchableitung kennen.
Das sogenannte gemischte Wörterbuch bedeutet, dass die im Wörterbuch gespeicherten Daten eine Mischung verschiedener Typen sind. Die Schlüssel müssen unveränderliche Datentypen sein, die Werte können jedoch Objekte beliebigen Typs sein.
Schauen wir uns zunächst ein gemischtes Wörterbuch an:
my_dcit={'Xiao Ming': ['Größe: 170 cm', 'Gewicht: 65 kg'], 'Xiao Li': 'Ich liebe Lernen, liebe Sport', 'Xiaohua': ('Wohnort: Suzhou', 'Geburtsort: Shanghai ')}
Die Werte dieses Wörterbuchs bestehen aus Listen, Zeichenfolgen und Tupeln. Auf dieses gemischte Wörterbuch können wir über die Methode im vorherigen Abschnitt zugreifen. Schauen Sie sich den folgenden Code an
my_dcit={'Xiao Ming': ['Größe: 170 cm', 'Gewicht: 65 kg'], 'Xiao Li': 'Ich liebe Lernen, liebe Sport', 'Xiaohua': ('Wohnort: Suzhou', 'Geburtsort: Shanghai ')}print('Access key='Xiao Ming'->',my_dcit['Xiao Ming'])print('Access key='Xiaohua'->',my_dcit['Xiao Li'])print(' Access key='Xiaohua'->',my_dcit['Xiaohua'])print('itmes() method:',my_dcit.items())#Gesamtzugriff print('keys() method:',my_dcit. keys() )#Nur Zugriff auf alle keyprint('values() method:',my_dcit.values())#Nur Zugriff auf valueprint('get() method:',my_dcit.get('Xiao Ming'))#get Methode zum Zugriff auf angegebener Schlüssel my_dcit.pop('Xiao Ming') #Dieser Schritt ist die Methode pop(), die die gepaarten Elemente mit key = 'Xiao Ming' löscht print('my_dict nach der Methode pop(): ', my_dcit) # Sehen Sie sich das Wörterbuch nach dem Löschen an
Schauen Sie sich die Ausgabe an:
Access key='Xiao Ming'->['Höhe: 170 cm', 'Gewicht: 65 kg'] Access key='Xiaohua'->Liebe Lernen, liebe Sport access key='Xiaohua'->('Wohnort: Suzhou ', 'Geburtsort: Shanghai') itmes() method: dict_items([('Xiao Ming', ['Höhe: 170 cm', 'Gewicht: 65 kg']), ('Xiao Li', 'Liebe Lernen, liebe Sport' ), ('Xiaohua',('Wohnort: Suzhou', 'Geburtsort: Shanghai'))])keys() Methode: dict_keys(['Xiaoming','Xiaoli','Xiaohua'])values () Methode: dict_values([ ['Größe: 170 cm', 'Gewicht: 65 kg'], 'Ich liebe Lernen, liebe Sport', ('Wohnort: Suzhou', 'Geburtsort: Shanghai')]) get() method :['Größe: 170 cm', ' Gewicht: 65 kg'] my_dict nach der Methode pop(): {'Xiao Li': 'Liebe Lernen, liebe Sport', 'Xiaohua': ('Wohnort: Suzhou',' Geburtsort: Shanghai')}
Wenn wir Wörterbücher verwenden, müssen wir häufig das Wörterbuch durchlaufen. Normalerweise verwenden wir eine for-Schleife, um alle Schlüssel im Wörterbuch zu durchlaufen.
Werfen wir einen Blick auf den Traversal-Zugriff im Allgemeinen:
>>>my_dict={1001:'Xiaoming',1002:'Xiaohua',1003:'Xiaozhang'}>>>foriinmy_dict:print(i,my_dict[i])#Ausgabeschlüssel und der dem Schlüssel 1001Xiao Ming entsprechende Wert 1002 Xiaohua 1003 Xiao Zhang
Wir werden beim Abrufen des Objekts auch die Methode items() verwenden, um Elementpaare abzurufen.
>>>my_dict={1001:'Xiao Ming',1002:'Xiao Hua',1003:'Xiao Zhang'}>>>foriinmy_dict.items():print(i)(1001,'Xiao Ming')(1002 ,'Xiaohua')(1003,'Xiao Zhang')
Bei dieser Zugriffsmethode handelt es sich um ein Datenpaar im entgegengesetzten Wörterbuch, und das Ausgabeergebnis wird in Form eines Tupels ausgegeben. Gleichzeitig können der Schlüssel und der Wert jeder Durchquerung direkt durch Schleifendurchquerung ermittelt werden.
>>>my_dict={1001:'Xiao Ming',1002:'Xiao Hua',1003:'Xiao Zhang'}>>>fori,jinmy_dict.items():print('corresponding key:',i,'corresponding Wert :',j) Entsprechender Schlüssel: 1001 Entsprechender Wert: Xiao Ming Entsprechender Schlüssel: 1002 Entsprechender Wert: Xiao Hua Entsprechender Schlüssel: 1003 Entsprechender Wert: Xiao Zhang
Üben Sie abschließend die Wörterbuchdurchquerung anhand von Übungen.
Ich habe bereits etwas über die Ableitung von Listen gelernt, ohne viel Einführung, da Wörterbücher relativ speziell sind. Hier werden wir die Ableitung von Wörterbüchern erklären.
Schauen wir uns zunächst eine einfache Verwendung an.
>>>my_dict={i:'dotcpp'foriinrange(1,5)}>>>my_dict{1:'dotcpp',2:'dotcpp',3:'dotcpp',4:'dotcpp'}
Hier werfen wir einen Blick auf die Struktur der Wörterbuchableitung. Der erste Teil entspricht der Verwendung von „dotcpp“, um das Wertobjekt jedes i zuzuweisen. Wir können auch zuerst eine Liste definieren und ihr den Wert in der Liste zuweisen.
>>>my_list=[10,20,30,40,50]>>>my_dict={i:my_list[i]foriinrange(1,5)}>>>my_dict{1:20,2:30,3: 40,4:50}
Schauen Sie sich das Bild unten an:
Bei der Verwendung der Wörterbuchableitung besteht das Hauptproblem in der Zuordnung von Schlüsseln und Werten. Nachdem wir die Funktion später kennengelernt haben, können wir die Funktion zip() verwenden, um Wörterbücher bequemer zu kombinieren.
Der Benutzer muss das Gesamtvermögen eingeben, zum Beispiel: 3000, dann wird die Warenkorbliste angezeigt und die Gesamtmenge der Artikel im Warenkorb berechnet. Wenn die Gesamtmenge der Artikel größer als das Gesamtvermögen ist, Es wird angezeigt, dass der Kontostand nicht ausreicht. Andernfalls ist der Kauf erfolgreich. Die Warenkorbliste sieht wie folgt aus: carts=[{Name: Bett, Preis: 1999, „Anzahl“: 1}, {Name: Kissen, Preis: 10, „Anzahl“: 2}, {Name: Steppdecke, Preis: 20, „num“:1}].
Die Lösung liegt am Ende.
Wörterbücher sind eine relativ häufig verwendete Datenstruktur beim Erlernen von Python. Aufgrund ihrer Einzigartigkeit gibt es jedoch möglicherweise relativ wenige Wörter zu Wörterbüchern in Wettbewerbsfragen, aber beim Lernen und Überprüfen von Python-Kursen können wir Wörterbücher verwenden, um uns zu helfen Finden Sie die entsprechenden Daten genau, und die kompetente Beherrschung von Listen und Wörterbüchern kann uns helfen, Python besser zu lernen.
carts=[{name:bed,price:1999,"num":1},{name:pillow,price:10,"num":2},{name:quilt,price:20,"num":1} ]. m=int(input())sum=0foriinrange(len(carts)):sum=carts[i]['price']*carts[i]['num']+sumifm>=sum:print('Kauf erfolgreich ')else:print('Kontostand unzureichend')