And*_*ndy 0 python numpy python-2.7 python-3.x
我有以下二维数组:
arr = [
["A", "B", "C", "10.03.2030", "14:06"],
["W", "R", "Q", "09.04.2025", "12:06"],
["Y", "X", "V", "11.05.2022", "12:06"],
["Z", "N", "H", "10.03.2030", "14:06"],
]
Run Code Online (Sandbox Code Playgroud)
我想按&时间对数组进行排序,有没有一种快速的方法可以在python中做到这一点?
提前致谢
安迪
您可以通过以下方式进行排序:首先将日期转换为ISO8601格式(而不是转换为实际日期datetime.strptime非常慢),然后使用已经标准化的时间字符串打破平局:
lst = sorted(arr, key=lambda x: (x[3].split('.')[::-1], x[-1]))
print(lst)
Run Code Online (Sandbox Code Playgroud)
x[3].split('.')[::-1] 从原始日期字符串构建ISO日期列表,首先输入年份,然后输入月份,然后输入日期。
[['Y', 'X', 'V', '11.05.2022', '12:06'],
['W', 'R', 'Q', '09.04.2025', '12:06'],
['A', 'B', 'C', '10.03.2030', '14:06'],
['Z', 'N', 'H', '10.03.2030', '14:06']]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
411 次 |
| 最近记录: |