如何从属性与统计量短列表生成指定顺序的扩展列表
解决方法
要生成指定顺序的属性统计扩展列表,用嵌套列表推导式就能简洁实现:
l1 = ['speed', 'accel'] l2 = ['min', 'max', 'mean', 'std'] l3 = [f"{attr}_{stat}" for attr in l1 for stat in l2] print(l3) # 输出: ['speed_min', 'speed_max', 'speed_mean', 'speed_std', 'accel_min', 'accel_max', 'accel_mean', 'accel_std']
原理说明
- 外层循环遍历属性列表
l1,每个属性依次和内层循环的统计量列表l2元素拼接 - 用f-string(Python 3.6+支持)完成字符串拼接,语法直观易读
如果要兼容更早的Python版本,可替换成以下写法:
# 使用%操作符 l3 = ["%s_%s" % (attr, stat) for attr in l1 for stat in l2] # 使用str.join() l3 = ["_".join([attr, stat]) for attr in l1 for stat in l2]
内容的提问来源于stack exchange,提问作者Amina Umar
相关产品推荐
相关产品推荐

