![](/img/trans.png)
[英]How to extract words with a repeated letter not count one specific? python
[英]How to return words with specific letter in python
我需要 python 代码的帮助,我是初学者。 我需要返回带有特定字母的单词。 这是我的尝试。 我需要返回包含字母“E”的单词
lib = ["politsei", "mehine","panda","ment","kusi", "treener","leidma", "jooks", "muksid","president"]
def sisend(lib, b):
print(lib)
for i in lib:
print(i)
if e in lib:
return lib
这是一个解决方案:
lib = ["politsei", "mehine","panda","ment","kusi", "treener","leidma", "jooks", "muksid", "president"]
for i in lib:
if 'e' in i:
print('e in word',i)
请询问您是否有任何问题。
这是一个单行解决方案
lib = ["politsei", "mehine","panda","ment","kusi", "treener","leidma", "jooks", "muksid",
"president"]
print(lib)
print([x for x in lib if 'e' in x])
这是函数式编程和使用过滤器的介绍。 过滤器对列表中的每个 position 使用谓词(即返回 boolean 答案的 function 答案)进行操作。 这个谓词确定我们是否应该将元素保留在列表中的那个 position (我们称之为x )。
因此我们可以像这样使用一个小的 function:
lambda x: 'e' in x
确定我们可以保留哪些单词。
print(list(filter(lambda x: 'e' in x, lib)))
但为什么要停在那里? 我们可以概括一下吗? 现在说我们有一个 function 它适用于'e'为什么不让它适用于我们给它的任何单词?
我们可以通过将现有的 function 与另一个 function 组合来做到这一点:
str_finder = lambda word: print(list(filter(lambda x: word in x, lib)))
现在我可以用任何我想要的词来做:
str_finder("mehine")
您可以为此目的使用filter
lib = ["politsei", "mehine","panda","ment","kusi", "treener","leidma", "jooks", "muksid","president"]
res = list(filter(lambda x:'e' in x, lib))
print(res)
# output ['politsei', 'mehine', 'ment', 'treener', 'leidma', 'president']
在您的代码中,当您遍历列表的每个元素时,您需要检查该元素中不在列表中的单词,如果找到则将其添加到原始列表
lib = ["politsei", "mehine","panda","ment","kusi", "treener","leidma", "jooks", "muksid","president"]
def sisend(lib, b):
result =[]
for i in lib:
if b in i:
result.append(i)
return result
print(sisend(lib, 'e'))
# output ['politsei', 'mehine', 'ment', 'treener', 'leidma', 'president']
我的错,如果单词包含字母“E”,那么我需要返回这些单词和另一个我需要打印出来的单词。 我需要反转返回的单词。
lib = [“politsei”、“mehine”、“panda”、“ment”、“kusi”、“treener”、“leidma”、“jooks”、“muksid”、“总统”]
def sisend(lib, b):
result =[]
for i in lib:
if b in i:
result.append(i)
return result
print(sisend(lib, 'e'))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.