python对含数字的列名排序和去重

目录

问题描述:

'kw_`85`-1_Avg', 'kw_`85`-2_Avg', 'kw_70-1_Avg', 'kw_70-2_Avg', 'kw_50-3_Avg', 'kw_10-4_Avg'

将第一个数字重复的字符串(如:'kw_85-1_Avg', 'kw_85-2_Avg'),

删除一个,保留第二个数字最小的字符串(如:kw_85-1_Avg)

python 复制代码
def sort_column(columns):
    # 提取第一个数字部分,并存储到字典中
    first_digit_dict = {}
    for col in columns:
        match = re.match(r'ws_(\d+)-(\d+)_Avg', col)
        if match:
            key = match.group(1)  # 提取第一个数字部分
            if key not in first_digit_dict:
                first_digit_dict[key] = col
            else:
                # 如果有多个相同的key,选择优先级更高的列
                current_priority = int(first_digit_dict[key].split('-')[1].split('_')[0])
                new_priority = int(col.split('-')[1].split('_')[0])
                if new_priority < current_priority:
                    first_digit_dict[key] = col
    unique_columns = list(first_digit_dict.values())
    return unique_columns
相关推荐
William_Xu几秒前
var [a, b] = { a: 1, b: 2 } 解构赋值
前端
用户059540174461 分钟前
Playwright 网络拦截踩坑实录:我花了 3 小时才搞懂数据持久化验证的正确姿势
前端·css
weedsfly1 分钟前
React 开发中的闭包陷阱:四个真实场景,让你彻底理解闭包
前端·react.js
MariaH2 分钟前
Git Cherry Pick 常用操作
前端
码云骑士4 分钟前
22-接手Django老项目(下)-读懂urls路由树与架构脉络
python·架构·django
码云骑士5 分钟前
29-Python-logging日志模块-print不是日志的生产级实战
开发语言·python
初圣魔门首席弟子8 分钟前
AI Agent 核心原理:工具调用(Function Calling)完整工作流程详解
前端·数据库·人工智能
Attachment George13 分钟前
山东大学软件学院-项目实训-个人开发日志(十):材料问答链路开发——文档解析、OCR兜底与持续追问完善
python·ai·langchain·kotlin·rag
码云骑士13 分钟前
24-Django请求全链路-WSGI到数据库响应的完整旅程
数据库·python·django
CodeSheep14 分钟前
又是梁文锋,有点猛啊。
前端·后端·程序员