python - 给定一个名称列表,输出一个列表,其中仅包含包含超过 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
解决方案
使用列表理解:
more_than_five = [item for item in names if len(item) > 5]
也许练习将此列表理解转换为for循环......或尝试您自己的解决方案
推荐阅读
- java - 如何在 Java 项目中找到主类?
- c# - 如何强制 VSCode Omnisharp 不使用 MONO?
- spring-boot - 在 Spring Boot 中使用 Ehcache 在 List Cacheable 中查找对象
- laravel - Laravel:创建按钮返回相同的视图但空白并且不创建任何记录
- c++ - 是否可以针对 openmp 优化我的代码?
- submit - 在我的 APP 中修改了提交和最后一个 powerApps 的文件夹的问题
- node.js - 仅在第一次尝试时执行 MongoDB bulkWrite replaceOne 时出现不可变 _id 错误
- c# - 为什么在 C# 的这种情况下局部变量的名称会发生冲突?
- python - 无法安装 django Mac 终端
- c++ - 为什么我的代码在初始化变量时与添加像 0 这样的简单值时给出不同的答案?