python3 map()函数

万事开头难,然后中间难,最后结尾难。

上一篇:python去除字符串(string)空格的五种方法

1、map()函数语法

map(function, iteration, .....)

参数说明
function:函数名
*iterations:一个序列或者多个序列

解释说明
返回一个将 function 应用于 iterable 中每一项并输出其结果的迭代器。 如果传入了额外的 iterable 参数,function 必须接受相同个数的实参并被应用于从所有可迭代对象中并行获取的项。 当有多个可迭代对象时,最短的可迭代对象耗尽则整个迭代就将结束。

示例1

def add(x, y):
    return x + y


list_x = [1, 2, 3, 4, 5, 6, 7, 8, 9]
list_y = [9, 8, 7, 6, 5, 4, 3, 2, 1]
map_obj = map(add, list_x, list_y)
print(list(map_obj))

result:[10, 10, 10, 10, 10, 10, 10, 10, 10]

**示例2 **

list_x = [1, 2, 3, 4, 5, 6, 7, 8, 9]
list_y = [9, 8, 7, 6, 5, 4, 3, 2, 1]
print(list(map(lambda x, y: x+y, list_x, list_y)))
print(list(map(lambda x: x**2, list_x)))

result_one:[10, 10, 10, 10, 10, 10, 10, 10, 10]
result_two:[1, 4, 9, 16, 25, 36, 49, 64, 81]

2、使用map()函数实现将其他类型的数转换成list,但是这种转换也是有类型限制的

元组转换成list

tuple_num = (1, 2, 3)
print(list(tuple_num))
print(list(map(int, tuple_num)))
print(list(map(str, tuple_num)))
print(list(map(float, tuple_num)))

result_one:[1, 2, 3]
result_two:['1', '2', '3']
result_three:[1.0, 2.0, 3.0]
result_four:[1, 2, 3]

字符串转换成list

str_num = '123456789'
print(list(map(int, str_num)))
print(list(map(float, str_num)))
print(list(map(str, str_num)))

result_one:[1, 2, 3, 4, 5, 6, 7, 8, 9]
result_two:[1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]
result_three:['1', '2', '3', '4', '5', '6', '7', '8', '9']

提取字典的key值,将结果存放在list中

dict_str = {"name": "小明", "age": "20", "school": "清华北大"}
print(list(map(str, dict_map)))
dict_num = {1: "小明", 2: "20", 3: "清华北大"}
print(list(map(int, dict_map)))

result_one:['name', 'age', 'school']
result_two:[1, 2, 3]

字符串转换成元组,并将结果以列表的形式返回

str_num = '456'
print(list(map(tuple, str_num)))

result:[('4',), ('5',), ('6',)]

这些知识需要自己多练习、多用,这样更容易理解。


如果感觉本文对您有帮助可以点个赞哦

本文为学习笔记,转载请标明出处

本文仅供交流学习,请勿用于非法途径

仅是个人意见,如有想法,欢迎留言

你可能感兴趣的:(python3 map()函数)