Je suis tout nouveau en python -
Je dois créer une fonction appelée 'first__vowel' . ACCEPTER une liste de chaînes en entrée
et RETURN la première chaîne commençant par une voyelle minuscule ("a", "e", "i", "o" ou "u") . si aucune chaîne ne commence par une voyelle, RETOURNEZ la chaîne vide ("") .
Pouvez-vous aider à créer cette fonction.
Merci
4 Réponses :
Vous avez besoin de:
import re
def first_vow(lst):
pat = re.compile(r'^[aeiou][a-zA-Z]*')
for i in lst:
match = re.match(pat, lst)
if match:
return i
return ""
k = ['sad','Aad','mad','','asd','eas']
first_vow(k)
Ou vous pouvez également utiliser regex
def first_vowel(lst):
# iterate over list using for loop
for i in lst:
# check if first letter is vowel
if i and i[0] in ['a','e','i','o','u']:
return i
return ""
k = ['sad','dad','mad','asd','eas']
print(first_vowel(k))
Vérifiez ceci:
first_vowel(["Drere", "fdff", "", "aBD", "eDFF"]) 'aBD'
Test:
vowels = ["a", "e", "i", "o", "u"]
def first_vowel(ss):
for s in ss:
if s and s[0] in vowels:
return s
return ""
cela fonctionne. Je vous remercie. Que signifie s [0] avec "et" dans la syntaxe?
@FHamad if s signifie si la chaîne n'est pas vide; et simplement ET; s [0] est le premier caractère de la chaîne. Je vous recommande de suivre un cours python simple, par exemple sur tutorialspoint.com/python/python_strings.htm
@FHamad Si cela vous aide, pensez à marquer cette réponse comme acceptée (si cela ne vous dérange pas). Merci!
j'ai utilisé cette réponse. y a-t-il un moyen de marquer accepté? s'il vous plaît laissez-moi savoir comment, nouveau sur ce site.
@FHamad Il y a une marque V juste sous à côté de ma réponse. Veuillez cliquer sur la marque V et elle deviendra verte comme ceci i.stack.imgur.com/LkiIZ .png
Le vôtre est bon aussi - Compte tenu de mon niveau d'expertise (à peine nul), j'ai opté pour l'autre. Merci d'avoir partagé le vôtre. Cela m'aide vraiment à apprendre.
Vous pouvez toujours utiliser la fonction str.startswith () :
def first_vowel(lst):
for elem in lst:
if elem.startswith(('a','e','i','o','u')):
return elem
return ''
k = ['', 'b','sad','dad','mad','asd','eas']
print(first_vowel(k))
l1 = ['hi', 'there', 'its', 'an' , 'answer', '']
def first_vowel(var):
for i in var:
if i.startswith(('a', 'e', 'i', 'o', 'u')): return i
first_vowel(l1) # output-> 'its'