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']
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论