如何在Python中对两个独立列表的对应元素相乘?
对应元素相乘生成新列表的实现方法
你已经生成了两个各含10个元素的随机列表n1和n2,要实现对应位置元素相乘得到新列表n3,以下是几种简洁高效的实现方式:
方法1:列表推导式(推荐)
这是Python中最直观且常用的写法,借助zip()函数将两个列表的对应元素配对,再逐个计算乘积:
n3 = [a * b for a, b in zip(n1, n2)]
方法2:使用map()函数
结合匿名函数lambda和map()批量处理元素相乘,最后转换为列表:
n3 = list(map(lambda x, y: x * y, n1, n2))
方法3:传统for循环(适合新手理解)
如果想清晰看到每一步计算过程,可以通过索引遍历实现:
n3 = [] for i in range(len(n1)): n3.append(n1[i] * n2[i])
完整示例代码
将随机列表生成和乘积计算整合后的完整代码:
import random n1_r = random.sample(range(1, 100), 10) n2_r = random.sample(range(1, 100), 10) n1 = n1_r n2 = n2_r # 用列表推导式生成n3 n3 = [a * b for a, b in zip(n1, n2)] print("n1:", n1) print("n2:", n2) print("n3:", n3)
以上三种方法都能得到包含10个对应元素乘积的列表n3,其中列表推导式在可读性和执行效率上表现最优。
内容的提问来源于stack exchange,提问作者Neth
相关产品推荐
相关产品推荐

