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

向空元组追加元素时如何保留原括号结构避免扁平化

你当前代码的问题在于:使用元组的+=操作时,会将右侧可迭代对象的元素逐个追加到原元组中,l[0]本身就是长度为2的元组,所以会把0、1两个元素分别加入,导致最后结果被扁平化。

以下是两种可实现目标的常用方案:

方案1:直接使用列表存储(最简便)

你需要的结果本身是列表格式,直接初始化列表后追加对应元素即可:

l = [(0,1), (4,5), (7,10) ]
res = []
res.append(l[0])
res.append(l[2])

运行后res的值就是[(0, 1), (7, 10)]。

方案2:先操作元组再转列表

如果要保留先操作元组的逻辑,拼接时需要把单个元素包裹成长度为1的元组(末尾加逗号标识),避免被扁平化:

l = [(0,1), (4,5), (7,10) ]
res = ()
# 注意(l[0],)末尾的逗号,用于标识这是单元素元组
res += (l[0],)
res += (l[2],)
# 最后转为列表
res = list(res)

运行后同样能得到目标结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:36:00