Python求两个列表数据依次相乘求和
时间: 2023-05-12 20:07:15 浏览: 225
可以使用zip函数将两个列表对应位置的元素组合成元组,然后使用列表推导式计算每个元组中的元素乘积,最后使用sum函数求和。代码如下:
```python
list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = sum(x * y for x, y in zip(list1, list2))
print(result) # 输出32
```
注意:这里假设两个列表长度相同,如果不相同需要进行处理。
相关问题
python列表元素依次相乘
以下是两种Python列表元素依次相乘的方法:
1. 使用numpy库进行数组相乘,然后使用sum函数求和。
```python
import numpy as np
ls = [111, 222, 333, 444, 555, 666, 777, 888, 999]
lt = [999, 777, 555, 333, 111, 888, 666, 444, 222]
result = np.array(ls) * np.array(lt)
print(sum(result))
```
2. 使用for循环遍历两个列表,依次取出对应位置的元素相乘,然后累加求和。
```python
ls = [111, 222, 333, 444, 555, 666, 777, 888, 999]
lt = [999, 777, 555, 333, 111, 888, 666, 444, 222]
result = 0
for i in range(len(ls)):
result += ls[i] * lt[i]
print(result)
```
python中使用numpy库建立两个一维数组 a和b,分别初始化为[0,1,2,3,4,5,6,7,8,9]和 [1,0,1,0,1,0,1,0,1,0] 并完成以下要求: (1)输出a 的类型 (2)输出a的各维度 (3)写出数组a和b对应元素求和、相减、相乘的表达式
好的,根据您的要求,我来回答您的问题:
首先,使用numpy库建立两个一维数组a和b,可以按照如下代码实现:
```python
import numpy as np
a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
b = np.array([1, 0, 1, 0, 1, 0, 1, 0, 1, 0])
```
接下来,根据您的问题,依次回答如下:
(1)输出a的类型
可以使用type()函数来输出a的类型,代码如下:
```python
print(type(a))
```
输出结果为:
```
<class 'numpy.ndarray'>
```
可以看到,a的类型为numpy的ndarray类型。
(2)输出a的各维度
可以使用shape属性来输出a的各维度,代码如下:
```python
print(a.shape)
```
输出结果为:
```
(10,)
```
可以看到,a是一个一维数组,长度为10。
(3)写出数组a和b对应元素求和、相减、相乘的表达式
数组a和b对应元素求和、相减、相乘的表达式分别如下:
```python
# 对应元素求和
c = a + b
# 对应元素相减
d = a - b
# 对应元素相乘
e = a * b
```
其中,c、d、e分别为对应的结果数组。
阅读全文