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
相关推荐
houyhea几秒前
AI智能体浪潮下的前端演进:一场螺旋上升的轮回
前端·agent
LYFlied1 分钟前
【每日算法】LeetCode 146. LRU 缓存机制
前端·数据结构·算法·leetcode·缓存
半桶水专家2 分钟前
vue中的props详解
前端·javascript·vue.js
长安牧笛7 分钟前
社区银发智慧陪伴系统,AI模拟家人语气聊天,监测老年人日常活动,如用药,出门,异常情况,自动推送给子女,兼顾陪伴与安全。
javascript
HIT_Weston7 分钟前
65、【Ubuntu】【Gitlab】拉出内网 Web 服务:Gitlab 配置审视(九)
前端·ubuntu·gitlab
阿蒙Amon7 分钟前
JavaScript学习笔记:3.控制流与错误处理
javascript·笔记·学习
b***74888 分钟前
前端的未来不是框架之争,而是数字体验能力的全面竞争
前端
Flyora14 分钟前
【踩坑实录】PyInstaller 打包 “找不到库的完整解决方案
python
测试老哥14 分钟前
2026软件测试面试大全(含答案+文档)
自动化测试·软件测试·python·测试工具·面试·职场和发展·测试用例
Lunar*14 分钟前
[开源] 纯前端实现楼盘采光模拟工具:从2D规划图到3D日照分析
前端·3d