【问题标题】:sorted() unable to sort list of chars [duplicate]sorted()无法对字符列表进行排序[重复]
【发布时间】:2019-07-29 13:16:08
【问题描述】:

我想将包含整数的列表排序为字符。例如:

l = ['1', '10', '11', '12', '16', '17', '2', '24', '26', '27', '28', '30', '32', '34', '35', '36', '43', '45', '47', '49', '50', '6', '9']
print(sorted(l))

正在返回:

['1', '10', '11', '12', '16', '17', '2', '24', '26', '27', '28', '30', '32', '34', '35', '36', '43', '45', '47', '49', '50', '6', '9']

为什么 sorted() 行为异常?

【问题讨论】:

  • l.sort(key=int) 很棒

标签: python sorting


【解决方案1】:

Sorted 完全按照它应该的方式行事。

这些是字符串,而不是整数,因此sorted 首先按第一个字符排序,然后按第二个字符排序。

如果我们想对['1', '2', '12']进行排序,我们得到['1', '12', '2']

1
12
2

sorted 首先按第一列排序,然后按第二列。

【讨论】:

    猜你喜欢
    • 2018-10-12
    • 1970-01-01
    • 2020-04-29
    • 2012-07-22
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多