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

嵌套循环操作后如何保持列表结构?Python列表拼接问题

解决列表拼接并保留嵌套结构的问题

现有两个列表:

x = [['a','b','c'],['e','f']]
y = ['w','x','y']

需求是将x的每个元素与y的每个元素拼接,同时保留x的嵌套结构,期望输出:

[['aw','ax','ay','bw','bx','by','cw','cx','cy'],['ew','ex','ey','fw','fx','fy']]

你的原代码能生成正确的拼接元素,但因为直接把所有结果追加到同一个一维列表中,丢失了原嵌套结构。修正方法很简单:给x的每个子列表对应创建临时子列表,把该子列表的拼接结果存入临时列表后,再将临时列表加入最终结果:

res = []
for sublist in x:
    temp_sublist = []
    for char in sublist:
        for suffix in y:
            temp_sublist.append(char + suffix)
    res.append(temp_sublist)

替代多层嵌套循环的更优方法

用Python的嵌套列表推导式可以一行完成,代码更简洁高效:

res = [[char + suffix for char in sublist for suffix in y] for sublist in x]

如果偏好逻辑更直观的写法,也可以用itertools.product生成元素的笛卡尔积后再拼接:

import itertools
res = [[c1 + c2 for c1, c2 in itertools.product(sublist, y)] for sublist in x]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 05:50:22