首页 > 解决方案 > 给定一个名称列表,输出一个列表,其中仅包含包含超过 5 个字符的名称

问题描述

给定一个名称列表,输出一个列表,其中仅包含包含超过 5 个字符的名称。

names = ["David", "John", "Annabelle", "Johnathan", "Veronica"]

这是我的镜头,但没有奏效

res = list(filter(lambda x: len(str(names[x] > 5, (names)))))

我收到错误

    res = list(filter(lambda x: len(str(names[x] > 5, (names)))))
TypeError: filter expected 2 arguments, got 1

标签: python

解决方案


使用列表理解

more_than_five = [item for item in names if len(item) > 5]

也许练习将此列表理解转换为for循环......或尝试您自己的解决方案


推荐阅读