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

Python中如何按条件拆分嵌套数组元素并重复对应行

实现思路
  • 遍历原始数组中的每一个子列表
  • 对每个子列表,拆分出前序固定元素(除最后一位外的所有元素)和待拆分的字符串(子列表最后一位)
  • 按逗号分割待拆分的字符串,得到多个独立的字符元素
  • 遍历每个分割后的字符,将其和前序固定元素拼接为新的子列表,加入结果数组即可
Python 实现示例

普通写法:

# 原始数组
arr = [[1,2,3,4,'a,b,c,d'],[5,6,7,8,'e,f,g,h']]
result = []

for sub_list in arr:
    # 提取前序固定元素
    prefix = sub_list[:-1]
    # 拆分最后一位的逗号分隔字符串
    split_items = sub_list[-1].split(',')
    # 生成新子列表存入结果
    for item in split_items:
        result.append(prefix + [item])

# 替换原数组(可选)
arr = result

简洁列表推导式写法:

arr = [sub[:-1] + [item] for sub in arr for item in sub[-1].split(',')]
JavaScript 实现示例
const arr = [[1,2,3,4,'a,b,c,d'],[5,6,7,8,'e,f,g,h']]
const result = arr.flatMap(subList => {
  const prefix = subList.slice(0, -1)
  const splitItems = subList.at(-1).split(',')
  return splitItems.map(item => [...prefix, item])
})
注意事项
  • 上述代码默认所有子列表最后一位都是格式合法的逗号分隔字符串,如果实际业务场景存在格式异常,可以增加类型判断、异常捕获逻辑做兼容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.09 06:45:03