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

Python如何根据另一列表对应值重复目标列表的对应元素

实现方案

方法1:列表推导式(推荐)

通过zip配对两个列表的对应元素,嵌套循环展开生成结果,代码最简洁:

nums = [2, 3, 5]
mylist = ["aaa", "bbb", "ccc"]

result = [item for item, count in zip(mylist, nums) for _ in range(count)]
print(result)

输出结果和预期一致:
["aaa", "aaa", "bbb", "bbb", "bbb", "ccc", "ccc", "ccc", "ccc", "ccc"]

方法2:普通循环(适合新手理解)

如果对列表推导式语法不熟悉,可以用基础循环实现,逻辑完全相同:

nums = [2, 3, 5]
mylist = ["aaa", "bbb", "ccc"]
result = []

for content, repeat_cnt in zip(mylist, nums):
    result.extend([content] * repeat_cnt)

print(result)

注意事项

  • 需保证nums和mylist长度一致,否则仅会处理到较短列表的最后一个元素
  • 如果需要兼容两列表长度不一致的场景,可引入itertools.zip_longest自定义默认重复次数

内容的提问来源于stack exchange,提问作者Martin Yordanov Georgiev

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:45:03