为什么列表订购不正确? - python

当我将sortsorted应用于列表列表时,Python无法正确排序。
例如,我想按B1, B2, ..., B10, B11, ...订购
但是Python按B1, B10, B11, B2, B20, B21, ...排序
列表的列表比我在这里输入的列表大。

 def getKey(item):
     return item[0]

l = [['B3', '08:20', '08:50', ('LH233', 'Berlin', '08:20', '112', '203')], ['B10', '08:40', '08:55', ('AF76', 'Toulouse', '08:40', '57', '102')]]

l.sort(key=getKey) OR sorted(l, key=getKey)

Returns:

[['B10', '08:40', '08:55', ('AF76', 'Toulouse', '08:40', '57', '102')], ['B3', '08:20', '08:50', ('LH233', 'Berlin', '08:20', '112', '203')]]

python大神给出的解决方案

这是因为,根据Python,102之前,因为在您的示例中,您实际上是在进行字符串比较,而不是数字比较。一种解决方案是将string-numbers转换为数字。