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

如何遍历两个含嵌套子列表的列表并实现对应元素拼接?

嵌套列表对应元素组合解决方案

直接用嵌套列表推导式就能解决你的问题,核心是两层zip分别处理外层列表和内层子列表的配对:

lst1 = [ [1 ,2 ,3], [3 ,4 ,5, 5], [7, 8], [9, 10, 2, 3, 7] ]
lst2 = [ ['a', 'b', 'c'], ['d', 'e', 'f', 'g'], ['h', 'a'], ['z', 'w', 'x', 'y', 'k'] ]

# 嵌套列表推导式实现
lst3 = [[str(num) + char for num, char in zip(sublist1, sublist2)] for sublist1, sublist2 in zip(lst1, lst2)]
print(lst3)

输出结果和你期望的一致:

[['1a', '2b', '3c'], ['3d', '4e', '5f', '5g'], ['7h', '8a'], ['9z', '10w', '2x', '3y', '7k']]

分步解释

  1. 外层zip(lst1, lst2):把两个大列表中的对应子列表配对,比如lst1[0]和lst2[0]、lst1[1]和lst2[1]依次组合。
  2. 内层zip(sublist1, sublist2):对每一对子列表,把里面的元素一一对应,比如1和'a'、2和'b'配对。
  3. str(num) + char:因为数字不能直接和字符串拼接,所以先把数字转成字符串再和字符合并,得到你需要的组合结果。

更易读的循环写法

如果觉得列表推导式太紧凑,也可以用嵌套循环实现,逻辑完全一致:

lst3 = []
# 遍历外层配对的子列表
for sub1, sub2 in zip(lst1, lst2):
    current_sublist = []
    # 遍历子列表里的元素对
    for num, char in zip(sub1, sub2):
        current_sublist.append(str(num) + char)
    lst3.append(current_sublist)

注意事项

要保证lst1和lst2中对应位置的子列表长度相同,否则zip会以较短的子列表为准截断配对结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 19:02:05