python字符串排序问题
python可以将字符串排序,但是要注意可能出错
比如:
list_d=['0','54','12','3','55'] list_d.sort() print(list_d) ['0', '12', '3', '54', '55']
'12'为什么排在'0'和3''之间?因为字符串排序不是按照数字的值来排!而是先排第一位的字符,然后第二位、第三位……因为'12'的第一位是'1',所以排在'0'和'3'中间了,
如果数字位数一样就没问题:
list_d=['00','54','12','03','55'] list_d.sort() print(list_d) ['00', '03', '12', '54', '55']
如果不确定数字位数,最好换成整数或者浮点数再排序:
list_d=['0','54','12','3','55'] list_d.sort(key=lambda x:int(x)) print(list_d) ['0', '3', '12', '54', '55']
浙公网安备 33010602011771号