Kur*_*lar 0 python sorting time list
我有以下列表表示列车的到达和出发时间.
arr = ['9:00', '9:40', '9:50', '11:00', '15:00', '18:00']
dep = ['9:10', '12:00', '11:20', '11:30', '19:00', '20:00']
Run Code Online (Sandbox Code Playgroud)
我想合并和排序它们.我做了以下.
final = sorted(arr+dep)
Run Code Online (Sandbox Code Playgroud)
输出:
['11:00', '11:20', '11:30', '12:00', '15:00', '18:00', '19:00', '20:00', '9:00', '9:10', '9:40', '9:50']
Run Code Online (Sandbox Code Playgroud)
预期输出:( 实际的时间戳排序)
['9:00', '9:10', '9:40', '9:50','11:00', '11:20', '11:30', '12:00', '15:00', '18:00', '19:00', '20:00']
Run Code Online (Sandbox Code Playgroud)
我如何实现预期的输出?
字符串按字典顺序排序. '9:00'将来,'11:00'因为,对于字符串,'9'大于'1'.
要解决此问题,您可能希望拆分':'并从值创建整数:
def sort_key(time):
hour, minute = time.split(':')
return int(hour), int(minute)
arr = ['9:00', '9:40', '9:50', '11:00', '15:00', '18:00']
dep = ['9:10', '12:00', '11:20', '11:30', '19:00', '20:00']
sorted(arr + dep, key=sort_key)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
436 次 |
| 最近记录: |