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

Python3 combine_channels函数返回元组如何修改为列表格式

问题解决方法

问题根源

Python内置zip()函数迭代返回的每个元素都是元组类型,你原代码中直接将zip(*row_pairs)返回的元组存入了结果列表,才会出现输出中是(1, 2)而非预期[1, 2]的问题。

修改方案

只需在列表推导式中,将channel_combined用list()强制转为列表类型即可,修改后的完整代码如下:

def combine_channels(image):
    new_channel = []
    for row_pairs in zip(*image):
        new_channel.append([list(channel_combined) for channel_combined in zip(*row_pairs)])
    return new_channel

测试输入combine_channels([[[1]], [[2]]]),返回结果为[[[1, 2]]],符合预期。

如果你偏好更简洁的写法,也可以用嵌套列表推导式实现相同逻辑:

def combine_channels(image):
    return [[list(channel_combined) for channel_combined in zip(*row_pairs)] for row_pairs in zip(*image)]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 14:09:00