如何在列表中找到匹配的元素?
How to find the matched elements in the list?
如何return列表中的匹配元素?
例如:
def search_closet(items, colour):
>>> search_closet(['red summer jacket', 'red shoes', 'green hat'], 'red')
['red summer jacket', 'red shoes']
>>> search_closet(['red shirt', 'green pants'], 'blue')
[]
>>> search_closet([], 'mauve')
[]
我尝试了这个 body 函数,但它不起作用:
result = []
for i in items:
if i in colour:# problem might be here, but I really have no idea why it doesn't work.
result.append[i]
return result
您可以使用Python的过滤方式来匹配您要查找的子串:
filter(lambda x: "red" in x, ['red summer jacket', 'red shoes', 'green hat'])
关于过滤器的文档:
https://docs.python.org/3/library/functions.html#filter
输出:
['red summer jacket', 'red shoes']
将其放入方法中:
def search_closet(items, colour):
return filter(lambda x: colour in x, items)
一个list comprehension
应该可以做到。
def search_closet(items, colour):
return [i for i in items if colour in i]
演示:
search_closet(['red summer jacket', 'red shoes', 'green hat'], 'red')
search_closet(['red shirt', 'green pants'], 'blue')
search_closet([], 'mauve')
输出:
['red summer jacket', 'red shoes']
[]
[]
如何return列表中的匹配元素? 例如:
def search_closet(items, colour):
>>> search_closet(['red summer jacket', 'red shoes', 'green hat'], 'red')
['red summer jacket', 'red shoes']
>>> search_closet(['red shirt', 'green pants'], 'blue')
[]
>>> search_closet([], 'mauve')
[]
我尝试了这个 body 函数,但它不起作用:
result = []
for i in items:
if i in colour:# problem might be here, but I really have no idea why it doesn't work.
result.append[i]
return result
您可以使用Python的过滤方式来匹配您要查找的子串:
filter(lambda x: "red" in x, ['red summer jacket', 'red shoes', 'green hat'])
关于过滤器的文档:
https://docs.python.org/3/library/functions.html#filter
输出:
['red summer jacket', 'red shoes']
将其放入方法中:
def search_closet(items, colour):
return filter(lambda x: colour in x, items)
一个list comprehension
应该可以做到。
def search_closet(items, colour):
return [i for i in items if colour in i]
演示:
search_closet(['red summer jacket', 'red shoes', 'green hat'], 'red')
search_closet(['red shirt', 'green pants'], 'blue')
search_closet([], 'mauve')
输出:
['red summer jacket', 'red shoes']
[]
[]