如何基于元素的第三部分对Python字符串列表进行降序排序?
Python列表按元素第三部分数值降序排序实现方法
你可以通过Python内置的排序函数,配合自定义排序键来实现需求,核心是提取每个字符串的第三部分数值作为排序依据:
方法一:使用sorted()函数生成新列表
lst = [ "C123, ABC, 10", "C456, DEF, 30", "C789, GHI, 20" ] # 按第三部分数值降序排序 sorted_lst = sorted(lst, key=lambda x: int(x.split(',')[2].strip()), reverse=True) print(sorted_lst)
方法二:直接修改原列表(使用.sort()方法)
lst = [ "C123, ABC, 10", "C456, DEF, 30", "C789, GHI, 20" ] # 原地降序排序 lst.sort(key=lambda x: int(x.split(',')[2].strip()), reverse=True) print(lst)
关键逻辑说明
x.split(','):将每个字符串按逗号分割为列表,例如"C123, ABC, 10"会被分割为["C123", " ABC", " 10"][2].strip():取分割后的第三个元素(索引为2),并去除前后空格,得到纯数字字符串int(...):将字符串转为整数,确保按数值大小排序而非字符串字典序reverse=True:指定排序规则为降序
内容的提问来源于stack exchange,提问作者S M Shamimul Hasan
相关产品推荐
相关产品推荐

