python - Python:Lambda 表达式
问题描述
我正在尝试将输入作为:
1.jpg 10.png 11.png 2.jpg 3.png
并使用 lambda 表达式打印到列表中:
['001.jpg', '010.png', '011.png', '002.jpg', '003.png']
files = input().split()
print(list(map('{0:03d}.{1}'.format(lambda x: int(x.split('.')[0]), x.split('.')[1], files))))
我以为我做对了。但它会发生错误: AttributeError: 'list' object has no attribute 'split'
我错过了什么?
解决方案
您不需要任何地图或 lambda,只需zfill
:
print([x.zfill(8) for x in input().split()])
在这个例子中调整8
到你需要的任何长度
推荐阅读
- javascript - 如何在使用它的同一组件中访问 mapStateToProps?
- python-3.x - Math.log 大数字的错误结果
- c# - Oracle VS2017 开发工具中的表适配器配置向导无法解析 || 或 (+)
- docker - Docker 在树莓派上以错误的架构运行映像
- spring-boot - 模拟的 ServiceResponse 给出了一个空值,而不是预期这个空值
- python-3.x - Python wordcloud 无法呈现希伯来语
- python - Python Tkinter 标签条目 Widget 间距问题
- python - 将 Matplotlib 嵌入 HWND
- c# - C# lambda null 运行时绑定
- asp.net-core - ASP.NET Core Razor:没有值的条件属性