You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何通过for循环按指定映射关系生成对应长度的新列表z

实现方案

思路说明

  • 先建立v元素到对应x取值的映射关系,后续查找时不用每次遍历v列表匹配,执行效率更高
  • 用for循环遍历y的每一个元素,从映射关系中取出对应数值追加到z列表即可,最终z的长度和y完全一致

代码实现

高效版本(推荐)

v = ['a', 'c', 'b']
x = [0.2, 0.3, 0.5]
y = ['a', 'a', 'b', 'b', 'b', 'c', 'c', 'c']
z = []

# 构建映射字典
value_map = dict(zip(v, x))

# for循环遍历生成z
for item in y:
    z.append(value_map[item])

print(z) # 输出:[0.2, 0.2, 0.5, 0.5, 0.5, 0.3, 0.3, 0.3]

纯循环匹配版本(无需提前构建字典,仅适合短列表场景)

v = ['a', 'c', 'b']
x = [0.2, 0.3, 0.5]
y = ['a', 'a', 'b', 'b', 'b', 'c', 'c', 'c']
z = []

for y_item in y:
    for idx, v_item in enumerate(v):
        if y_item == v_item:
            z.append(x[idx])
            break

内容的提问来源于stack exchange,提问作者DreamyDeerz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 21:15:02