工作中遇到一些情况,需要列表中的元素排序,列表中的元素中包含1 和 包含10 的元素,列表经过升序排列,居然先把10拍在前面,但是我本意是需要把 1 排在前面的,解决此类问题的方法是将 1 改成01 ,具体例子见下面
a = ['a10_2','a2_2','a3_5','a1_2','a1_3','a3_4','a1_1','a2_1','a2_3','a3_2','a3_1','a10_1']
b = ['a10_02','a02_02','a03_05','a01_02','a01_03','a03_04','a01_01','a02_01','a02_03','a03_02','a03_01','a10_01']
sorted(a)
#Out[6]:
['a10_1',
'a10_2',
'a1_1',
'a1_2',
'a1_3',
'a2_1',
'a2_2',
'a2_3',
'a3_1',
'a3_2',
'a3_4',
'a3_5']
sorted(b)
# Out[7]:
['a01_01',
'a01_02',
'a01_03',
'a02_01',
'a02_02',
'a02_03',
'a03_01',
'a03_02',
'a03_04',
'a03_05',
'a10_01',
'a10_02']
本文介绍了在Python中遇到列表排序时,数值10在数值1之前的情况。为解决这个问题,提出了将1转换为01的解决方案,以确保在升序排序时1能正确位于10之前。
1165

被折叠的 条评论
为什么被折叠?



