2024-09-24 00:28:47 发布
网友
vowel = ['a','e','i','o','u'] my_list = ['hbyl','hawk','ibzj','hcxk','gawk']
在我的单子上。如果单词没有一个元音。从列表中删除单词
for word in my_list: if word does not include at least one vowel: my_list.remove(word) print (my_list) ['hawk','ibzj','gawk']
迭代时不应删除元素。相反,构建一个新的列表,最好使用列表理解:
vowel = ['a','e','i','o','u'] my_list = ['hbyl','hawk','ibzj','hcxk','gawk'] new_my_list = [word for word in my_list if any(v in word for v in vowel)]
从本质上说,列表理解说的是“包括任何给定的词,只有当有任何元音在这个词。”
这应该管用!:)
vowel = ['a','e','i','o','u'] my_list = ['hbyl','hawk','ibzj','hcxk','gawk'] vowset = set(vowel) [word for word in my_list if vowset.intersection(word)]
可以将函数filterfalse()与set方法isdisjoint()一起使用:
filterfalse()
isdisjoint()
from itertools import filterfalse vowel = ['a','e','i','o','u'] my_list = ['hbyl','hawk','ibzj','hcxk','gawk'] vowel= set(vowel) list(filterfalse(lambda x: vowel.isdisjoint(x), my_list)) # ['hawk', 'ibzj', 'gawk']
迭代时不应删除元素。相反,构建一个新的列表,最好使用列表理解:
从本质上说,列表理解说的是“包括任何给定的词,只有当有任何元音在这个词。”
这应该管用!:)
可以将函数
filterfalse()
与set方法isdisjoint()
一起使用:相关问题 更多 >
编程相关推荐