您可以在列表上使用 Filter() 函数从更大的列表创建新列表吗?

Can you use the Filter() function on a list to create a new list from a larger list?

我将使用列表和过滤函数来创建一个仅包含奇数长度股票代码的新列表。我在用数字做类似的事情之前使用过 lambda 但似乎无法将其翻译成文字。我的代码如下..

list1 = ["GOOGL", "IBM", "AAPL", "FB", "M", "WMT"]

list(filter(lambda item: item[0] == "odd", list1))

我希望输出全是奇数长度的股票代码

['GOOGL','IBM', 'M', 'WMT']

filter

print(list(filter(lambda x: len(x) % 2 == 1, list1)))

list comprehension

print([i for i in list1 if len(i)%2==1])

输出:

['GOOGL', 'IBM', 'M', 'WMT']