Zählt, wie viele Werte waren zurückzuführen auf die Taste ein ein python - (3.2) Wörterbuch
Ich bin sicher, das ist albern, aber ich kann einfach nicht umgehen. Ich habe ein Wörterbuch, wie dieses, mit ungleichen Anzahl von Werten für jede Taste:
'John greased ': ['axle', 'wheel', 'wheels', 'wheel', 'engine', ''],
'Paul alleged ': ['truth', 'crime', 'facts', 'infidelity', 'incident', ''],
'Tracy freed ': ['animals', 'fish', 'slaves', 'slaves', 'slaves', 'pizza'],
'Lisa plowed ': ['field', 'field', '', '', '', ''],
Möchte ich wissen, wie viele Werte gibt es für jede Taste, nicht jeder eindeutige Wert, aber wie viele Token gibt es pro Taste wiederholt oder nicht. Also ich hätte ein Ergebnis wie:
John greased 5
Paul alleged 5
Tracy freed 6
Lisa plowed 2
Ich habe versucht, verwenden Sie diese, um es mit dem code unten:
for key, value in sorted(result.items()):
print(key, len(value))
Aber aufgrund der fehlenden Werte alle Längen entpuppen sich die gleichen.
Irgendwelche Ideen auf, wie man dieses Problem lösen oder wo es zu finden ist? Vielen Dank für jede Hilfe.
InformationsquelleAutor user2962024 | 2013-11-07
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen Weg, um dieses Problem zu lösen, ist durch eine änderung der letzten Zeile:
So Ihr vollständiger code:
Können Sie auch
filter
mitbool
:So, die Schleife:
Bewerben Sie sich
list
überfilter
wie soprint(key, len(list(filter(bool, value))))
in Python 3.Wenn diese Antwort dein problem gelöst hat, bitte akzeptieren Sie es 🙂
Irgendeinen Grund für die downvote?
ungültige syntax,
TypeError: object of type 'filter' has no len()
usw.Das ist für Python 3. Geändert um es zu beheben 🙂
InformationsquelleAutor Games Brainiac
Verwenden
- filter
mitNone
es filtert alle falsy-Werte aus den wiederholenden übergeben.In Python ist3
filter
gibt einen iterator, so sollten Sie rufenlist()
.:Code:
Timing-Vergleich zwischen den
filter(None,..)
- und list-comprehension:Ich bin nicht mit lambda hier, so ist dies in Ordnung.
Sie völlig kopiert meine formatierte dict! 😛 Super Antwort, obwohl, ich habe auch Hinzugefügt, dass er verwenden könnte
bool
stattNone
wenn er so wollte.mit
None
entspricht[item for item in iterable if item]
, sobool
ist nicht erforderlich.Wirklich, wusste nicht, dass! Vielen Dank für den Unterricht mir 🙂
InformationsquelleAutor Ashwini Chaudhary
Schau mal hier:
O(1)
memory-basierte Lösung.InformationsquelleAutor iCodez
InformationsquelleAutor MONTYHS