Python 为什么我的ourput只显示一个元素

Python 为什么我的ourput只显示一个元素,python,python-3.x,Python,Python 3.x,我试图把一个列表作为一个参数,看看列表中的每个名字是否都以元音结尾。然而,对于我来说,我总是得到一个元素,而不是所有元素 a_list = ["Renjie", "Shannon", "Benjamin", "Peron", "Abhay", "Peron", "Ryan", "Jingyi", "David", "Shan", "Atunaisa", "James", "Joshua", "Rory", "Wayne", "Raymond", "Amy", "

我试图把一个列表作为一个参数,看看列表中的每个名字是否都以元音结尾。然而,对于我来说,我总是得到一个元素,而不是所有元素

a_list = ["Renjie",  "Shannon",  "Benjamin",  "Peron",  "Abhay",  "Peron",  "Ryan",  "Jingyi",  "David",  "Shan",  "Atunaisa",  "James",  "Joshua",  "Rory",  "Wayne",  "Raymond",  "Amy",  "Franco",  "Siran",  "Siyan",  "Dokyung",  "Hansoo",  "Adefolakanmi",  "Belita",  "Da",  "Qihao",  "Campbell",  "Chester",  "Daniel",  "alex",  "Rachel",  "Mitchell",  "Angelo",  "Bishoy",  "Freshteh",  "Kunyu",  "Lefei",  "Michael",  "alex",  "Minsuck",  "Angel",  "Sayaka",  "Changhao",  "Pramith",  "Minsang",  "Shuliang",  "Jiaqi",  "Mathew",  "Prashant",  "Alex"]
vowels = "aeiouAEIOU"
new_list = []
for word in a_list:
    if word[-1] in vowels:
       new_list.append(word)
       return new_list
正如Jim所说,您需要终止
返回
。除此之外,您还可以使用列表:

new_list = [word for word in a_list if word[-1] in vowels]

return
语句从
for
循环中删除
return
ing终止函数的执行,结果是添加第一个元素,然后执行完成。