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
相关推荐
xkxnq几秒前
第一阶段:Vue 基础入门(第 8 天)
前端·vue.js·flutter
特严赤傲1 分钟前
H5 页面在微信浏览器里调用微信支付 demo
javascript·微信·jsapi
研☆香4 分钟前
html界面的树形菜单介绍与制作
前端·microsoft·html
多米Domi0114 分钟前
0x3f 第23天 黑马web (前端三件套,maven,web入门、mysql)黑马反射注解 hot100普通数组
java·python·mysql·算法·leetcode·maven
@zulnger5 分钟前
python 学习笔记(面向对象)
笔记·python·学习
星辰也为你祝福h5 分钟前
前端面试题-CSS篇
前端·css
2501_941807265 分钟前
从微服务监控到智能运维的互联网工程语法实践与多语言探索
开发语言·python
DREAM.ZL6 分钟前
基于Django的旅游推荐系统
python·django·旅游
Hello.Reader7 分钟前
PyFlink Table API 用纯 Python 写一个 WordCount(读 CSV + 聚合 + 写出)
开发语言·python
雨雨雨雨雨别下啦8 分钟前
ajax和axios到底是什么
前端·ajax·okhttp