python map get
时间: 2025-01-03 17:38:47 浏览: 5
### Python中`map()`函数的用法
#### 获取处理后的列表
`map()` 函数接受两个参数:一个是函数,另一个是可迭代对象(如列表)。该函数会对给定序列中的每一项应用所提供的函数,并返回一个包含结果的新迭代器。为了查看 `map()` 返回的结果,通常将其转换为列表形式[^3]。
下面的例子展示了如何利用 `map()` 和简单的平方函数来创建一个新的数值列表:
```python
def square(num):
"""计算数字的平方"""
return num ** 2
numbers = [1, 2, 3, 4]
squared_numbers_iterator = map(square, numbers)
print(list(squared_numbers_iterator)) # 输出: [1, 4, 9, 16]
```
也可以直接在 `map()` 中使用匿名 lambda 表达式代替定义完整的函数:
```python
numbers = [1, 2, 3, 4]
squared_numbers_iterator = map(lambda x: x ** 2, numbers)
print(list(squared_numbers_iterator)) # 输出: [1, 4, 9, 16]
```
当需要对多个输入序列操作时,可以传递额外的可迭代参数到 `map()` 函数里。这适用于二元或多参数的操作场景下。如果传入的不同长度的序列,则输出将以最短的那个为准[^4]:
```python
bases = [2, 4, 6]
exponents = [3, 2, 1]
powers_and_sums = list(map(lambda base, exp: (base**exp, base + exp), bases, exponents))
print(powers_and_sums) # 输出: [(8, 5), (16, 6), (6, 7)]
```
阅读全文