如何实现Python函数g(L1,L2)逐对应元素取最大值?
解决列表对应位置取最大值的函数问题
你的代码仅手动处理了两个列表的第一个元素,没有遍历所有索引位置,因此只能得到第一个位置的最大值。要实现所有对应位置的比较,这里提供两种简洁的改进方式:
方法一:通过索引循环遍历
def g(L1, L2): if len(L1) != len(L2): return 0 result = [] # 遍历每个索引位置 for i in range(len(L1)): # 取对应位置的最大值加入结果列表 result.append(max(L1[i], L2[i])) return result
方法二:用zip+列表推导式(更Pythonic)
def g(L1, L2): if len(L1) != len(L2): return 0 # zip将两个列表的对应元素配对,列表推导式直接生成结果 return [max(a, b) for a, b in zip(L1, L2)]
测试示例:
print(g([10,8,6,4,2,0], [1,3,5,7,9,11])) # 输出: [10,8,6,7,9,11]
内容的提问来源于stack exchange,提问作者lisa
相关产品推荐
相关产品推荐

