0

这是字典中的键列表:

bandlist = ['B28', 'B26', 'B11', 'B21', 'B20', 'B7', 'B13', 'B3', 'B19', 'B8', 'B1']

sorted(bandlist) == ['B1', 'B11', 'B13', 'B19', 'B20', 'B21', 'B26', 'B28', 'B3', 'B7', 'B8']

但我希望它按照'B'之后的数字顺序排列,例如:

['B1', 'B3', 'B7', 'B8', 'B11', 'B13', 'B19', 'B20', 'B21', 'B26', 'B28']

我能怎么做?

4

1 回答 1

2

使用可选key参数:

>>> bandlist = ['B28', 'B26', 'B11', 'B21', 'B20', 'B7', 'B13', 'B3', 'B19', 'B8', 'B1']
>>> sorted(bandlist, key=lambda x: int(x[1:]))
['B1', 'B3', 'B7', 'B8', 'B11', 'B13', 'B19', 'B20', 'B21', 'B26', 'B28']
于 2013-08-15T04:29:32.923 回答