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

能否合并两个仅迭代源不同的Python列表推导式?

实现方法

你可以先把重复的转换逻辑抽为公共处理函数,再通过序列解包+单次列表推导同时处理两个输入列表:

def transform_list(raw_list):
    return [[1 if value == '0' else -1 for value in sublist] for sublist in raw_list]

basis_result, miti_basis_result = [transform_list(lst) for lst in [basis_result, miti_basis_result]]

如果不想额外定义函数,也可以直接写为一行推导,不过可读性会稍低:

basis_result, miti_basis_result = [
    [[1 if v == '0' else -1 for v in sublst] for sublst in input_lst]
    for input_lst in (basis_result, miti_basis_result)
]

之前的写法失效原因

你尝试的简化示例 aa,bb,cc = [i for i in [range(2),range(3),range(4)]] 仅对原列表元素做了透传,没有附加你的自定义转换逻辑,因此无法实现你要的效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 21:18:00