在Python中,如何按部分对字符串列表排序?

2024-09-23 06:38:30 发布

您现在位置:Python中文网/ 问答频道 /正文

以下是字典中的键列表:

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']

我该怎么办?你知道吗


Tags: 列表字典b1b3sortedb7b8b11
1条回答
网友
1楼 · 发布于 2024-09-23 06:38:30

使用可选的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']

相关问题 更多 >