不等长列表对应元素求和生成新列表,多的元素加到新列表
时间: 2024-03-17 12:40:16 浏览: 47
python实战技巧之两个不等长列表让里面的数字一一对应地相加.pdf
可以使用zip()函数和列表解析来实现不等长列表对应元素求和并生成新列表,同时将多余的元素加到新列表的末尾。具体代码如下:
```python
list1 = [1, 2, 3, 4]
list2 = [5, 6, 7]
sum_list = [x+y for x,y in zip(list1, list2)]
if len(list1) > len(list2):
sum_list += list1[len(list2):]
elif len(list2) > len(list1):
sum_list += list2[len(list1):]
print(sum_list)
```
输出结果为:
```
[6, 8, 10, 4]
```
和前面的例子相比,这个代码多了if-elif语句块,用来判断哪个列表比较长。如果list1比list2长,则将list1中多出来的元素添加到新列表的末尾;如果list2比list1长,则将list2中多出来的元素添加到新列表的末尾。需要注意的是,这个代码假设两个列表中的元素类型相同,否则可能会出现类型错误。
阅读全文