如何将列表中的同类元素按参数类型归组排列?
解决方案
实现思路
- 先把列表里的
datetime单独提取,剩余元素按最后一个-后的后缀标识(比如DVENTO、PREC_MM)分组排序 - 排序完成后将
datetime放回列表首位
代码实现
original_list = ['datetime', 'INMET_BRASILIA_A001_M-DVENTO', 'INMET_BRASILIA_A001_M-PREC_MM', 'INMET_BRASILIA_A001_M-PRESS_HPA', 'INMET_CURITIBA_A807_M-DVENTO', 'INMET_CURITIBA_A807_M-PREC_MM', 'INMET_CURITIBA_A807_M-PRESS_HPA'] # 分离datetime和数据元素 datetime_item = original_list[0] data_items = original_list[1:] # 按后缀排序:提取每个元素最后一个'-'后的部分作为排序依据 sorted_data = sorted(data_items, key=lambda x: x.split('-')[-1]) # 组合成最终列表 final_list = [datetime_item] + sorted_data print(final_list)
输出结果
['datetime', 'INMET_BRASILIA_A001_M-DVENTO', 'INMET_CURITIBA_A807_M-DVENTO', 'INMET_BRASILIA_A001_M-PREC_MM', 'INMET_CURITIBA_A807_M-PREC_MM', 'INMET_BRASILIA_A001_M-PRESS_HPA', 'INMET_CURITIBA_A807_M-PRESS_HPA']
内容的提问来源于stack exchange,提问作者Lucas Medeiros
相关产品推荐
相关产品推荐

