Python如何从带ga:前缀的METRICS列表生成目标HEADER列表
问题原因
现有代码每次循环都会用当前单个元素的处理结果覆盖HEADER变量,因此循环结束后HEADER仅保留最后一次的处理结果。同时代码中使用的split()属于多余操作,会将单个字符串转换为单元素列表,无实际意义。
实现方案
方案1:列表推导式(推荐)
语法简洁,执行效率高,一行即可完成需求:
METRICS = ['ga:sessions', 'ga:users'] HEADER = [item[3:] for item in METRICS] print(HEADER)
运行输出:['sessions', 'users']
方案2:循环追加(适合入门理解逻辑)
先初始化空列表,每次循环将处理后的元素追加到列表中:
METRICS = ['ga:sessions', 'ga:users'] HEADER = [] for val in METRICS: HEADER.append(val[3:]) print(HEADER)
运行输出:['sessions', 'users']
优化提示
如果后续METRICS中的前缀不是固定长度的ga:,可以采用冒号分割的方式提升兼容性:
# split第二个参数设为1,只分割第一个冒号,避免值本身带冒号时出错 HEADER = [item.split(':', 1)[1] for item in METRICS]
内容的提问来源于stack exchange,提问作者Zack
相关产品推荐
相关产品推荐

