python - Python按十进制格式排序排列
问题描述
我想按照以下编号排列列表,
01
02
03
001
002
但是默认的排序命令会给我,
001
002
01
02
03
解决方案
为了保留长度排序而不是数字排序,我相信您需要根据 2 个标准进行排序:
nums = '03 01 002 02 001'
num_array = nums.split()
sorted_nums = sorted(num_array, key=lambda x: [len(x), x])
print(sorted_nums)
输出:
['01', '02', '03', '001', '002']
推荐阅读
- android - Android Studio 出现 Google Pay 错误,我该如何解决?
- variables - 在版本中更新变量组变量
- variables - JavaFX:为 EventHandler(时间轴)正确链接变量
- arrays - 角度数组对象选择特定元素
- google-sheets - 有没有办法将值从谷歌表格工作簿绘制到 tradingview pinescript?
- html - 将高度设置为百分比时,Firefox 中图像 div 中的神秘空白
- vue.js - 同步非必需属性的Vue手表
- c - 如何在 C 中使用多线程运行音乐和游戏?
- java - 杰克逊将时间戳转换为长
- c++ - CUDA 是否可以进行没有错误的越界访问?