Ich habe eine Liste von Strings, die etwa 6 Millionen Elemente enthält, und ich versuche, das Auftreten für jeden der eindeutigen Werte zu zählen.Python zählt Vorkommen in einer Liste: Wie man es schneller macht?
Hier ist mein Code:
lines = [6 million strings]
unique_val = list(set(lines)) # contains around 500k items
mydict = {}
for val in unique_val:
mydict[val] = lines.count(val)
ich den obigen Code gefunden habe funktioniert sehr langsam gegeben, dass die Liste Ich zähle riesig.
Ich frage mich, ob es einen Weg gibt, es schneller zu machen?
Vielen Dank
Dies kann groß genug sein für 'pyspark' und es wäre für diese Art von Problem gut geeignet. –
Sind Sie bereit, nicht-pure-python-Pakete (wie numpy oder pyspark?) Zu verwenden. –
Außerdem habe ich Ihren Code so bearbeitet, dass er richtig funktioniert, indem Sie die richtige Klammer verwenden - ich weiß, dass Bearbeitungscode normalerweise verpönt ist (es schien ein sehr offensichtlicher Tippfehler zu sein), aber wenn Sie das Original aus irgendeinem Grund meinten, machen Sie die Änderungen –