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

如何实现同维度嵌套字符串列表与整数列表的按位重复拼接?

解决嵌套列表按对应次数重复元素的问题

你可以用嵌套列表推导式结合zip()来实现需求,核心是把每个字符串按对应次数生成重复的独立元素,再拼接成目标子列表。

完整代码示例

list1 = [['ABC','DEF'],['GHI','JKL'],['MNO','PQR']]
list2 = [[2, 2], [3, 3], [4, 4]]

# 生成目标结果
result = [
    [s for s, cnt in zip(sub_list1, sub_list2) for _ in range(cnt)]
    for sub_list1, sub_list2 in zip(list1, list2)
]

print(result)
# 输出: [['ABC', 'ABC', 'DEF', 'DEF'], ['GHI', 'GHI', 'GHI', 'JKL', 'JKL', 'JKL'], ['MNO', 'MNO', 'MNO', 'MNO', 'PQR', 'PQR', 'PQR', 'PQR']]

代码逻辑拆解

  1. 外层zip(list1, list2):把两个列表的对应子列表配对,比如第一组是['ABC','DEF']和[2,2]
  2. 内层zip(sub_list1, sub_list2):把每个子列表里的字符串和对应重复次数配对,比如('ABC',2)、('DEF',2)
  3. [s for _ in range(cnt)]:对每个字符串,生成cnt次独立重复的元素(比如'ABC'生成['ABC','ABC'])
  4. 内层推导式会把同一子列表的所有重复元素拼接成一个新子列表,最终组合成完整的结果列表

你之前尝试的问题点

如果直接用*运算符(比如s * cnt),得到的是拼接后的长字符串(比如'ABCABC'),而不是多个独立的元素。所以需要用循环生成独立元素,再拼接成列表。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 22:52:11