Wenn der Typ eines Zählers Objekts Schlüssel zu addieren str
ist, das heißt:ein einzelnes Zeichen Hinzufügen von Tasten in Counter
ich dies tun könnte:
>>> vocab_counter = Counter("the lazy fox jumps over the brown dog".split())
>>> vocab_counter = Counter({k+u"\uE000":v for k,v in vocab_counter.items()})
>>> vocab_counter
Counter({'brown\ue000': 1,
'dog\ue000': 1,
'fox\ue000': 1,
'jumps\ue000': 1,
'lazy\ue000': 1,
'over\ue000': 1,
'the\ue000': 2})
Was für eine schnelle und/oder wäre pythonischer Weg, um allen Schlüsseln ein Zeichen hinzuzufügen?
Ist die obige Methode die einzige Möglichkeit, den letzten Zähler mit dem an alle Schlüssel angehängten Zeichen zu erreichen? Gibt es andere Wege, um dasselbe Ziel zu erreichen?
Ich denke, die Art, wie Sie es tun, scheint ziemlich gut ... Welche Art von Verbesserungen erwarten Sie? Zeit genommen? Zeilen von Code? – Shadow
Keine Codezeilen, nur die Frage, ob es einen besseren Weg gibt. Das mehrfache Durchlaufen aller Tasten ist nicht optimal. Vielleicht muss ich es auf einen Datenrahmen oder ein numpy Array ablegen und dann zurück zum Counter lesen. – alvas
Ich denke nicht, dass das besser wäre ... Auf diese Weise würde man die Liste der geteilten Strings erstellen, jeden einzelnen manipulieren und dann zählen. Die Art und Weise, in der es gerade unten ist, berührt nur jedes einzelne Wort - wenn also ein Roman viel sauberer und effizienter wäre (meiner Meinung nach sowieso), würde ich nur ein Wörterbuch anstelle eines Zählers auf deinem letzten Schritt erstellen , da Sie nicht mehr zählen müssen (ich nehme an) – Shadow