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

如何优化嵌套列表中基于元素值重复对应元素的代码实现?

简化嵌套列表处理的实现方案

可以利用嵌套列表推导式直接一步生成目标列表,无需额外的中间变量(如ls2、ls3),代码更简洁且可读性更强:

ls = [((0,3),(1,0),(2,2),(3,0)), ((0,0),(1,3),(2,2),(3,0))]
modified_ls = [
    tuple((x, 0) for x, n in sub_tuple for _ in range(n or 1))
    for sub_tuple in ls
]

代码逻辑说明:

  1. 外层遍历原列表ls中的每个子元组sub_tuple;
  2. 内层遍历子元组里的每个元素(x, n):
    • 当n=0时,n or 1等价于1,生成1个(x, 0),符合原需求保留该元素;
    • 当n≠0时,n or 1等价于n,生成n个(x, 0),实现重复效果;
  3. 最后将每个子元组的处理结果转为tuple,组成最终的modified_ls。

验证结果

运行上述代码后,modified_ls的输出与你预期的完全一致:

[((0, 0), (0, 0), (0, 0), (1, 0), (2, 0), (2, 0), (3, 0)), ((0, 0), (1, 0), (1, 0), (1, 0), (2, 0), (2, 0), (3, 0))]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 14:54:19