我有一个发现的功能,可以按数字对文件字符串列表进行排序。我在互联网上找到了它,效果很好。但是,我想简单地做到这一点,所以它不是一齐完成的,其他人也更容易理解。但是,我这样做很困难,因为我不了解排序的功能键,而lambda很好。任何帮助将不胜感激。
输入值
input_list = ['file_stuff_1','file_stuff_23','file_stuff_4','file_stuff_6']
码
output = sorted(input_list, key=lambda x: int("".join([i for i in x if i.isdigit()])))
输出量
['file_stuff_1','file_stuff_4','file_stuff_6','file_stuff_23']
尝试
这是我第一次尝试。但是我不确定如何固定数字,因此它不能用作键。
def sort_list(input_list):
for item in input_list:
if (item.isdigit()):
digits = int(''.join(item))
output = sorted(input_list,digits)
return output
def get_nums_from_filename(file_name):
digits = [char for char in file_name if char.isdigit()]
return int(''.join(digits))
input_list = ['file_stuff_1','file_stuff_23','file_stuff_4','file_stuff_6']
sorted(input_list, key=get_nums_from_filename)
https://docs.python.org/3/howto/sorting.html#key-functions
sorted()中的“键”参数指定应应用于每个项目以获取结果值的函数,然后根据相应的结果值对原始值进行排序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句