Seite 2 von 2
Re: Hashtag Analyse
Verfasst: Dienstag 27. Oktober 2020, 11:55
von __blackjack__
@Trägheit: Die Aussage das Datentypen keine wesentliche Rolle spielen in Python ist falsch, denn sie spielen eine *sehr* wesentliche Rolle. Python ist zwar nicht statisch typisiert aber stark typisiert. *Jeder* Wert hat einen Datentyp (lässt sich mit `type()` abfragen) und der bestimmt das Verhalten, also welche Operationen möglich sind und was die bedeuten. Es geht auch anders, nämlich dass das Verhalten durch die Operationen bestimmt ist. Ein Beispiel in diese Richtung wäre Tcl wo fast alles eine Zeichenkette ist und es keine Zahlen gibt. Rechenoperationen behandeln die Zeichenketten als wären es Zahlen und es kommen auch wieder Zeichenketten dabei heraus.
Re: Hashtag Analyse
Verfasst: Dienstag 27. Oktober 2020, 13:39
von snafu
Trägheit hat geschrieben: Dienstag 27. Oktober 2020, 01:21
Hm, demnach so:
Code: Alles auswählen
from collections import Counter
posts = ["hi #weekend", "good morning #germany #haus", "spend my #weekend in #germany", "#germany <3"]
hashtags = [word[1:] for string in posts for word in string.split() if word.startswith("#")]
print(Counter(hashtags))
Man braucht nicht mal die Liste, da man die Schleife quasi direkt übergeben kann:
Code: Alles auswählen
Counter(word[1:] for string in posts for word in string.split() if word.startswith("#"))
Nur fehlt dann eben die Trennung zwischen Filtern und Zählen, was hier schon anfangs angesprochen wurde.
Ich finde ja, so ein Einzeiler darf auch mal mehr als nur eine Aufgabe erledigen. Andererseits ist die aufgeteilte Herangehensweise leicht zu erweitern und zu testen. Könnte ja zB sein, dass man die Tags als eine Art normalisierte Variante gruppieren möchte (nur Kleinschreibung, keine Umlaute bzw Sonderzeichen) und dann nochmal die einzelnen Schreibweisen analysieren will. Da sind dann eigenen Funktionen auf jeden Fall der bessere Ansatz und es schadet nicht, sich das von Anfang an so aufzubauen.