2. 给定列表 ls1 = [9,8,7,6,5,4,3,2,1], ls2 = [1,2,3,4,5,6,7],将两列表中相同索引号的元素相乘,并将结果转换为list对象打印出来,要求采用内置函数实现。
时间: 2023-09-30 14:08:59 浏览: 58
可以使用内置函数 `zip()` 将两个列表中相同索引号的元素捆绑在一起,然后使用列表推导式计算它们的积,最后将结果转换为 list 对象。
以下是实现代码:
```
ls1 = [9, 8, 7, 6, 5, 4, 3, 2, 1]
ls2 = [1, 2, 3, 4, 5, 6, 7]
result = [x * y for x, y in zip(ls1, ls2)]
print(list(result))
```
输出结果为:
```
[9, 16, 21, 24, 25, 24, 21]
```
相关问题
给定列表 ls1 = [9,8,7,6,5,4,3,2,1], ls2 = [1,2,3,4,5,6,7],将两列表中相同索引号的元素打包,并将结果转换为list对象打印出来,要求采用内置函数实现
可以使用内置函数`zip()`和`list()`来实现:
```
ls1 = [9,8,7,6,5,4,3,2,1]
ls2 = [1,2,3,4,5,6,7]
result = list(zip(ls1, ls2))
print(result)
```
输出:
```
[(9, 1), (8, 2), (7, 3), (6, 4), (5, 5), (4, 6), (3, 7)]
```
注意,由于两个列表的长度不同,所以结果列表的长度为7,而不是9。
给定列表 ls1 = [9,8,7,6,5,4,3,2,1], ls2 = [1,2,3,4,5,6,7],将两列表中相同索引号的元素相乘,并将结果转换为list对象打印出来,要求采用内置函数实现
可以使用内置函数`map()`和`list()`来实现:
```python
ls1 = [9,8,7,6,5,4,3,2,1]
ls2 = [1,2,3,4,5,6,7]
result = list(map(lambda x, y: x*y, ls1[:len(ls2)], ls2))
print(result)
```
输出结果为:
```
[9, 16, 21, 24, 25, 24, 21]
```
其中,`lambda x, y: x*y`表示一个匿名函数,用于将两个输入参数相乘。`map()`函数将该匿名函数作用于`ls1[:len(ls2)]`和`ls2`两个列表上,将结果转换为列表并输出。注意,`ls1[:len(ls2)]`表示将`ls1`列表的前`len(ls2)`个元素作为新的列表。
阅读全文