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

Python:如何构造可迭代对象实现逐次删元素后扁平化元组列表

循环移除元组列表元素并扁平化实现

需求说明

给定元组列表:

bins = [(0, 1500), (0, 1500), (2000, 40000)]

需要循环处理该列表,每次循环移除其中一个元素,再将剩余元素扁平化,得到如下预期结果:

[0, 1500, 2000, 40000]  # 移除第一个元素
[0, 1500, 2000, 40000]  # 移除第二个元素
[0, 1500, 0, 1500]       # 移除最后一个元素

实现方案

核心是构造每次循环对应的my_iterable——即移除当前索引元素后的剩余元组列表,再用itertools.chain.from_iterable完成扁平化。具体代码如下:

from itertools import chain

bins = [(0, 1500), (0, 1500), (2000, 40000)]

# 遍历每个元素的索引,依次移除对应元素
for idx in range(len(bins)):
    # 通过切片拼接得到移除第idx个元素后的列表
    target_iterable = bins[:idx] + bins[idx+1:]
    # 扁平化并转换为列表
    flattened_result = list(chain.from_iterable(target_iterable))
    print(flattened_result)

代码解释

  • bins[:idx]:获取列表中索引idx之前的所有元组
  • bins[idx+1:]:获取列表中索引idx之后的所有元组
  • 两者拼接后,就得到了移除第idx个元素的新列表,将其传入chain.from_iterable即可完成扁平化。

内容的提问来源于stack exchange,提问作者Maxwell's Daemon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 15:45:57