Hallo Liebe Python Gemeinde
Ich bin noch ein Anfänger. Und brauche Hilfe bei einem Python Ausdruck. Ich möchte Interpretieren, was dieser genau Ausführt. Irgendwie habe ich aber damit meine Mühe.
Der Ausdruck lautet:
sorted([word.lower() for word in set(text6) if word >= 4 and word[-3:] == 'ing'])
also Zum einen verstehe ich, dass eine Menge erstellt wird, darin werden die Wörter klein geschrieben(lower) und sortiert. Nur die If Bedingung verstehe ich nicht ganz.
Kann mir da jemand weiterhelfen?
Ich danke im Voraus
LG Sperez
Dringend Hilfe bei kleinem Ausdruck
@sperez90
`sorted` erstellt eine Liste, dessen Elemente aus kleingeschriebenen Wörtern besteht, die aus 4 oder mehr Zeichen bestehen und auf 'ing' enden. Diese Wörter stammen aus einem Set.
Allerdings ist der Vergleich auf die Wortlänge ``if word >= 4 ...`` so nicht richtig und auch die Wortendung lässt sich besser prüfen:
`sorted` erstellt eine Liste, dessen Elemente aus kleingeschriebenen Wörtern besteht, die aus 4 oder mehr Zeichen bestehen und auf 'ing' enden. Diese Wörter stammen aus einem Set.
Allerdings ist der Vergleich auf die Wortlänge ``if word >= 4 ...`` so nicht richtig und auch die Wortendung lässt sich besser prüfen:
Code: Alles auswählen
sorted(
word.lower() for word in set(text6)
if len(word) >= 4 and word.endswith('ing')
)
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit )
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Es wird eine _Liste_ (kein Menge, Mengen kann man nicht sortieren) erstellt und es werden nur Woerter aus der Ursprungsmenge der Woerter aufgenommen, wenn sie mehr als 4 Zeichen haben und auf "ing" enden.
Das Stichwort ist "List Comprehension".
Das Stichwort ist "List Comprehension".
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Wobei ich mir gerade die Frage stelle ob es so gewollt ist das ein Wort das die Bedingungen erfüllt und sich nur durch die Gross/Kleinschreibung unterscheidet mehr als einmal im Ergebnis vorkommen kann, das aber immer komplett in Kleinbuchstaben‽
Vielen Dank für euren Input. Mich hat vor allem die If Condition mit dem Teil word[-3:]. Bedeutet das einfach, das von hinten die Buchstabenposition ermittelt wird? und dann dort dieses "ing" angehängt wird?
Danke nochmals:)
Danke nochmals:)
Dieser set Ausdruck verwirrt mich ebenfalls. Bedeutet set nicht, dass eine Menge erstellt wird?
Was würde beispielsweise passieren wenn ich den Funktionsausruf set() nicht auf text6, sondert auf sorted([...]), gibt es da einen Unterschied?
Danke im Voraus für eure Antwort:)
Was würde beispielsweise passieren wenn ich den Funktionsausruf set() nicht auf text6, sondert auf sorted([...]), gibt es da einen Unterschied?
Danke im Voraus für eure Antwort:)
@sperez90: Natürlich wäre das ein Unterschied. Ich habe irgendwie langsam das Gefühl wir lösen hier Hausaufgaben für jemanden der Linguistik oder etwas verwandtes studiert.