2017-04-02 3 views
-4
wordlist = ['dog', 'cat', 'mouse', 'alpaca', 'penguin', 'snail'] 

Wie könnte ich eine Liste wie die Python oben und habendie Vokale in einer Wortliste mit Python

jedes dritte Element in der Liste
  1. Prüfung anzeigen und die Anzahl der Vokale in dieser Zeichenfolge zählen
  2. drucken der Zeichenkette und der Anzahl von Vokalen es
  3. Ausgang der Schleife enthält, wenn die Zeichenfolge enthält 3 oder mehr Vokale

Antwort

1

T o nehmen jedes dritte Element aus der worldlist, Verwendung:

wordlist[0::3] 

Das bedeutet, einen Index 0 beginnen und die Liste durchgehen, indem drei den Index erhöht wird.

nun die Anzahl der Vokale zu bekommen, Sie viele Möglichkeiten haben:

  • mit Liste Verständnis kann man tun:

    vowels = 'aeiouy' 
    vowels_only = [c for c in w.lower() if c in 'aeiou'] 
    
  • regex und ersetzen:

    import re 
    re.sub(r'[aeiou]', '', w, flags=re.IGNORECASE) 
    

Putting it zusammen, erhalten Sie:

wordlist = ['dog', 'cat', 'mouse', 'alpaca', 'penguin', 'snail'] 

for w in wordlist[0::3]:  
    vowels_only = [c for c in w.lower() if c in 'aeiou'] 
    nb_vowels = len(vowels_only) 
    print("%s (%d)" % (w, nb_vowels)) # print the word and vowels count 
    if nb_vowels >= 3: 
    break 
Verwandte Themen