以下是字典中的密钥列表:
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']
我该怎么办?
答案 0 :(得分: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']