【发布时间】:2019-01-26 04:36:24
【问题描述】:
我的清单:
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']
提前致谢!
【问题讨论】:
-
试试这个 print(list(filtered_list))
-
python 3 中的过滤器返回一个生成器。您需要对其进行迭代以获取列表(或将其转换为列表...这将对其进行迭代)
-
check_letter的简写形式:def check_letter(word): return word[0].lower() == 's'