我的列表:
seq = ['soup','dog','salad','cat','great', 'salami']
我正在尝试创建一个仅包含起始字符为's'的单词的新列表。
我的尝试
def check_letter(input_list):
if input_list[0].lower() == 's':
return True
else:
return False
filtered_list = filter(check_letter, seq)
print(filtered_list)
我得到的输出是:
<filter object at 0x10e3f6f98>
我期望的是:
['soup', 'salad', 'salami']
谢谢!
答案 0 :(得分:1)
它返回python3中的生成器对象,因此可以对其进行迭代或使用内置列表函数获取列表:
print(list(filtered_list))
Outpot:
['soup', 'salad', 'salami']
答案 1 :(得分:0)
您也可以使用列表推导。
In [1]: seq = ['soup','dog','salad','cat','great', 'salami']
In [2]: out = [x for x in seq if x.lower().startswith('s')]
In [3]: out
Out[3]: ['soup', 'salad', 'salami']