ython-列表:两个列表对应元素求和 两个列表(可以不等长)对应元素求和生成新的列表并输出
时间: 2023-12-10 08:38:27 浏览: 96
可以使用zip函数将两个列表对应的元素组合成元组,然后再使用列表推导式求和并生成新列表,代码如下:
```python
list1 = [1, 2, 3]
list2 = [4, 5, 6, 7]
result = [x + y for x, y in zip(list1, list2)]
print(result) # 输出 [5, 7, 9]
```
在这个例子中,zip函数会将list1和list2对应位置的元素组合成一个元组,得到[(1, 4), (2, 5), (3, 6)],然后使用列表推导式对每个元组中的元素相加,并生成新的列表。注意,由于list1和list2的长度不同,所以最后一个元素7没有被计算在结果中。
相关问题
两个列表(可以不等长)对应元素求和生成新的列表并输出。
好的,我可以为您编写一个简单的程序来完成这个任务。以下是 Python 代码示例:
```python
list1 = [1, 2, 3, 4] # 第一个列表
list2 = [2, 4, 6] # 第二个列表
result = [] # 用于存储结果的列表
# 遍历两个列表,对应元素求和并添加到结果列表中
for i in range(max(len(list1), len(list2))):
if i < len(list1) and i < len(list2):
result.append(list1[i] + list2[i])
elif i < len(list1):
result.append(list1[i])
elif i < len(list2):
result.append(list2[i])
# 输出结果列表
print(result)
```
以上代码中,我们先定义了两个列表 `list1` 和 `list2`,然后定义了一个空列表 `result`,用于存储对应元素求和的结果。接下来,我们使用 `for` 循环遍历两个列表,对于每个下标 `i`,如果该下标在两个列表的索引范围内,则将对应元素求和并添加到结果列表中;如果该下标只在一个列表的索引范围内,则直接将该列表的元素添加到结果列表中。最后,我们输出结果列表即可。
需要注意的是,以上代码假设两个列表的长度可能不相等,如果两个列表的长度相同,可以省略第 10 行到第 14 行的代码,直接使用以下代码实现:
```python
result = [x + y for x, y in zip(list1, list2)]
```
这种方式会使用内置函数 `zip()` 来将两个列表对应元素打包成元组,然后使用列表推导式和 `sum()` 函数求和并生成结果列表。
7-2 python-列表:两个列表对应元素求和
好的,针对您的问题,可以使用Python编写一个函数来实现两个列表对应元素求和,示例如下:
```python
def add_lists(list1, list2):
result = []
for i in range(len(list1)):
result.append(list1[i] + list2[i])
return result
```
其中,参数`list1`和`list2`为两个列表,函数通过循环遍历两个列表中的对应元素,将对应元素相加并将结果添加到结果列表中,最终返回该结果列表。
例如,假设有如下两个列表:
```python
list1 = [1, 2, 3]
list2 = [4, 5, 6]
```
调用函数`add_lists(list1, list2)`会返回以下列表:
```python
[5, 7, 9]
```
该列表表示两个列表对应元素求和的结果。