使用sort 对list 的Split(‘_’)[2] 按照数字大小降序排序
时间: 2024-11-24 19:42:11 浏览: 2
数字字母中文排序
如果你有一个包含以下划线分隔的字符串,并想要按照第三部分(也就是下划线后面的数字)的大小进行降序排序,你可以首先将这些字符串拆分成两部分,提取第三部分作为数字,然后创建一个新的列表,最后使用`sort()`方法并提供一个自定义的关键字函数来根据数字进行排序。
这是一个例子:
```python
# 假设你有这样一个列表
data = ['item_1', 'item_10', 'item_5', 'item_8']
# 定义一个函数来从每个字符串中提取数字
def get_number(s):
return int(s.split('_')[2])
# 创建一个新的列表,存储数字
numbers = [get_number(i) for i in data]
# 使用sort()函数并设置reverse=True来进行降序排序
numbers.sort(reverse=True)
# 然后根据新排序的数字生成排序后的原始列表
sorted_data = ['_'.join(data[i].split('_')[:2]) + '_' + str(numbers[i]) for i in range(len(data))]
print(sorted_data)
```
这将会输出一个按照第三部分数字降序的新列表。
阅读全文