对字符串进行数字排序
在 Python 中对包含数字字符的字符串列表进行排序如果处理不当,可能会导致意外结果。为了实现所需的排序行为,有必要在应用排序函数之前将字符串转换为数值。
在提供的示例中,用户尝试通过将字符串“数字”列表转换为使用循环的整数。但是,这只在循环内将字符串转换为整数,原始 list1 保持不变。
要正确对列表进行数字排序,请按照以下步骤操作:
list1 = ["1", "10", "3", "22", "23", "4", "2", "200"] list1 = [int(x) for x in list1]
list1.sort()
这将生成排序列表:['1', '2', '3', '4', '10', '22', '23', '200'].
或者,可以使用 key 函数根据每个字符串的数值对列表进行排序,而不对其进行转换到整数:
list1 = ["1", "10", "3", "22", "23", "4", "2", "200"] list1.sort(key=int)
这将导致与之前相同的排序顺序。
以上是如何在 Python 中对字符串列表进行数字排序?的详细内容。更多信息请关注PHP中文网其他相关文章!