Dictionary mit Platzhaltern durchsuchen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Wobei omnidan ja nach einer Lösung gesucht hat, die sowohl den Schlüssel wie auch den Schlüsselwert durchsucht.
EyDu's und Deine modifizierte Lösung durchsuchen aber nur den Schlüsselnamen.

Es müsste also

Code: Alles auswählen

def find(name):
     for key in telefonbuch:
         if name in key or name in telefonbuch[key]:
             return key, telefonbuch[key]
lauten.

Allerdings bin ich mir nicht sicher, ob diese Lösung dann noch performanter ist...

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Effizienter ist (bei Python 2.x wäre iteritems() noch besser):

Code: Alles auswählen

def find(name):
     for key, value in telefonbuch.items():
         if name in key or name in value:
             return key, value
Stefan
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Wo liegt eigentlich der Unterschied zwischen

Python2.dict.items() und Python3.dict.items()
bzw.
Python2.dict.iteritems() und Python3.dict.iteritems()

:?:

In diesem Thread wurde hier und da darauf verwiesen, dass man mit Python 2 das 'eine', unter Python 3 aber lieber das 'andere' verwenden sollte... Warum?

mutetella


EDIT: Ok, hab's gerade selbst nachgelesen... sorry für meine Ungeduld.
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Antworten