首页 > 解决方案 > 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'

我错过了什么?

标签: python

解决方案


您不需要任何地图或 lambda,只需zfill

print([x.zfill(8) for x in input().split()])

在这个例子中调整8到你需要的任何长度


推荐阅读