如何用Python单行推导式简化tuple_sum函数?尝试zip函数未成功
用Python单行推导式简化tuple_sum函数
你要的单行推导式版本可以直接把嵌套循环转化为两层列表推导,同时简化不必要的冗余代码:
def tuple_sum(A, B): return [[a1 + b1 for a1, b1 in zip(a, b)] for a, b in zip(A, B)]
说明:
- 外层推导式直接遍历
zip(A, B),拿到两组数据中对应位置的子序列a和b,原代码里的[x for x in zip(A,B)]属于完全没必要的冗余写法; - 内层推导式遍历
zip(a, b),对每一对对应元素求和,直接生成子列表; - 整个推导式直接生成最终的二维列表,不需要额外定义
out、out1这类临时变量。
举个测试验证的例子:
A = [[1, 2], [3, 4]] B = [[5, 6], [7, 8]] print(tuple_sum(A, B)) # 输出: [[6, 8], [10, 12]]
内容的提问来源于stack exchange,提问作者Reuben
相关产品推荐
相关产品推荐

