Nach Aussage
list = []
Sie können nicht eingebaut in list
class verwenden und zu verstehen, dass Sie etwa eine Stunde verbringen oder so, das ist, warum wir Namen von Einbauten für unsere Objekte vermeiden .
Mehr unter this answer.
Funktion prüft, ob Wörter, die mit einem '' enden.‚‘
Statement
"." in word
prüft, ob word
Punktsymbol enthält (zB "." in "sample.text"
wird in Ordnung arbeiten, während es einfach nicht mit Punkt endet), wenn Sie müssen prüfen, ob es mit dem Punkt endet - Verwenden Sie str.endswith
Methode.
Ich möchte sicherstellen, dass doppelte Wörter in der Liste nicht gehen.
nur sicherstellen, bevor Sie eine speichern, die nicht bereits gespeichert wurde.
Endlich können wir schreiben
def endwords(sent, end='.'):
unique_words = []
words = sent.split()
for word in words:
if word.endswith(end) and word not in unique_words:
unique_words.append(word)
return unique_words
-Test
>>>sent = ' '.join(['some.', 'oth.er'] * 10)
>>>unique_words = endwords(sent)
>>>unique_words
['some.']
PS
Wenn Reihenfolge keine Rolle spielt - verwenden set
, wird es kümmern Duplikate nehmen (funktioniert nur mit abwaschbaren Typen, str
ist waschbar):
def endwords(sent, end='.'):
unique_words = set()
words = sent.split()
for word in words:
if word.endswith(end) and word not in unique_words:
unique_words.add(word)
return unique_words
oder mit Set Verständnis
def endwords(sent, end='.'):
words = sent.split()
return {word for word in words if word.endswith(end)}
Sie vermeiden sollten Namen von Einbauten für Ihre Objekte (wie 'list',' dict', 'str', usw.) mit –