Python 如何对字符串使用filter()并获取多个单词的出现?
我能够捕获第一个实例,但尝试在返回的Python 如何对字符串使用filter()并获取多个单词的出现?,python,lambda,Python,Lambda,我能够捕获第一个实例,但尝试在返回的集合中获取计数或只是重复 例如,下面是我的简化代码 word_list = ['Geico','Mike'] a_string = "what day is it, Mike Mike Mike" sets = filter(lambda x:x in a_string,word_list) 。。。我得到了['Mike'],但我想得到['Mike','Mike','Mike'];如果可能的话,只是为了更好地理解如何在过滤器中迭代。我的项目可能不需要每个“Mi
集合中获取计数或只是重复
例如,下面是我的简化代码
word_list = ['Geico','Mike']
a_string = "what day is it, Mike Mike Mike"
sets = filter(lambda x:x in a_string,word_list)
。。。我得到了['Mike']
,但我想得到['Mike','Mike','Mike']
;如果可能的话,只是为了更好地理解如何在过滤器中迭代。我的项目可能不需要每个“Mike”,但了解这一点将有助于我了解filter()与lambda的用法;因此,对我来说,改进这段代码比使用新方法更重要。了解过滤器:
你正在另一个方向寻找。
您应该这样做过滤器(针、草堆)
但是你正在做过滤(草堆、针)
范例
>>> names = ['Anna', 'Grant', 'Bob', 'David', 'Carrie', 'Barbara', 'Zach']
>>> b_names = filter(lambda s: s.startswith('B'), names)
>>> print b_names
#Output
['Bob', 'Barbara']
过滤器(函数,iterable)
相当于[如果函数(item)为iterable中的项]
如果函数不是None和[如果函数是None,iterable中的项]
了解兰巴:
lambda
只是function
的另一个词,当您阅读以下行时,请在脑海中将lambda
替换为function
:
>>> f = lambda x: x + 10
>>> f(3)
13
示例:2
f = lambda x, y : x * y
上述功能等同于以下功能
def f(x, y):
return x * y
lambda
返回一个函数,给定符号左侧的参数:
符号将返回其右侧表达式的值。
更多关于lambda的信息
了解过滤器:
你正在另一个方向寻找。
您应该这样做过滤器(针、草堆)
但是你正在做过滤(草堆、针)
范例
>>> names = ['Anna', 'Grant', 'Bob', 'David', 'Carrie', 'Barbara', 'Zach']
>>> b_names = filter(lambda s: s.startswith('B'), names)
>>> print b_names
#Output
['Bob', 'Barbara']
过滤器(函数,iterable)
相当于[如果函数(item)为iterable中的项]
如果函数不是None和[如果函数是None,iterable中的项]
了解兰巴:
lambda
只是function
的另一个词,当您阅读以下行时,请在脑海中将lambda
替换为function
:
>>> f = lambda x: x + 10
>>> f(3)
13
示例:2
f = lambda x, y : x * y
上述功能等同于以下功能
def f(x, y):
return x * y
lambda
返回一个函数,给定符号左侧的参数:
符号将返回其右侧表达式的值。
更多关于lambda的信息
了解过滤器:
你正在另一个方向寻找。
您应该这样做过滤器(针、草堆)
但是你正在做过滤(草堆、针)
范例
>>> names = ['Anna', 'Grant', 'Bob', 'David', 'Carrie', 'Barbara', 'Zach']
>>> b_names = filter(lambda s: s.startswith('B'), names)
>>> print b_names
#Output
['Bob', 'Barbara']
过滤器(函数,iterable)
相当于[如果函数(item)为iterable中的项]
如果函数不是None和[如果函数是None,iterable中的项]
了解兰巴:
lambda
只是function
的另一个词,当您阅读以下行时,请在脑海中将lambda
替换为function
:
>>> f = lambda x: x + 10
>>> f(3)
13
示例:2
f = lambda x, y : x * y
上述功能等同于以下功能
def f(x, y):
return x * y
lambda
返回一个函数,给定符号左侧的参数:
符号将返回其右侧表达式的值。
更多关于lambda的信息
了解过滤器:
你正在另一个方向寻找。
您应该这样做过滤器(针、草堆)
但是你正在做过滤(草堆、针)
范例
>>> names = ['Anna', 'Grant', 'Bob', 'David', 'Carrie', 'Barbara', 'Zach']
>>> b_names = filter(lambda s: s.startswith('B'), names)
>>> print b_names
#Output
['Bob', 'Barbara']
过滤器(函数,iterable)
相当于[如果函数(item)为iterable中的项]
如果函数不是None和[如果函数是None,iterable中的项]
了解兰巴:
lambda
只是function
的另一个词,当您阅读以下行时,请在脑海中将lambda
替换为function
:
>>> f = lambda x: x + 10
>>> f(3)
13
示例:2
f = lambda x, y : x * y
上述功能等同于以下功能
def f(x, y):
return x * y
lambda
返回一个函数,给定符号左侧的参数:
符号将返回其右侧表达式的值。
更多关于lambda的信息
过滤器非常直观:
你给它一些iterable和约束(你的lambda函数)。然后,它将检查每个项目并仅保留它,如果它满足约束条件
因此,在您的情况下,您希望迭代句子中的单词(因此首先拆分),并且仅保留它们,如果它们在您的单词列表中:
word_list = ['Geico','Mike']
a_string = "what day is it, Mike Mike Mike"
sets = filter(lambda x: x in word_list, a_string.split())
print(list(sets))
过滤器非常直观:
你给它一些iterable和约束(你的lambda函数)。然后,它将检查每个项目并仅保留它,如果它满足约束条件
因此,在您的情况下,您希望迭代句子中的单词(因此首先拆分),并且仅保留它们,如果它们在您的单词列表中:
word_list = ['Geico','Mike']
a_string = "what day is it, Mike Mike Mike"
sets = filter(lambda x: x in word_list, a_string.split())
print(list(sets))
过滤器非常直观:
你给它一些iterable和约束(你的lambda函数)。然后,它将检查每个项目并仅保留它,如果它满足约束条件
因此,在您的情况下,您希望迭代句子中的单词(因此首先拆分),并且仅保留它们,如果它们在您的单词列表中:
word_list = ['Geico','Mike']
a_string = "what day is it, Mike Mike Mike"
sets = filter(lambda x: x in word_list, a_string.split())
print(list(sets))
过滤器非常直观:
你给它一些iterable和约束(你的lambda函数)。然后,它将检查每个项目并仅保留它,如果它满足约束条件
因此,在您的情况下,您希望迭代句子中的单词(因此首先拆分),并且仅保留它们,如果它们在您的单词列表中:
word_list = ['Geico','Mike']
a_string = "what day is it, Mike Mike Mike"
sets = filter(lambda x: x in word_list, a_string.split())
print(list(sets))
我想您要筛选按“”拆分的\u字符串列表
取决于每个单词是否在单词列表中
我的答覆是:
sets = filter(lambda x:x in word_list, a_string.split())
或:
我想你要过滤李