Python map 函数 -Python零基础入门教程
生活随笔
收集整理的這篇文章主要介紹了
Python map 函数 -Python零基础入门教程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 一.前言
- 二.Python map 函數語法簡介
- 三.Python map 函數實戰
- 1.使用 map 函數
- 2.map 函數配合 lambda 匿名函數一起使用
- 四.Python map 函數效率對比
- 五.Python map 函數總結
- 六.猜你喜歡
零基礎 Python 學習路線推薦 : Python 學習目錄 >> Python 基礎入門
一.前言
截至到目前為止,其實我們已經接觸了不少的 Python 內置函數,而 map 函數也是其中之一,map 函數是根據指定函數對指定序列做映射,在開發中使用 map 函數也是有效提高程序運行效率的辦法之一.
二.Python map 函數語法簡介
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python map 函數.py @Time:2021/04/13 07:37 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""''' 參數描述:function:函數名iterable:一個序列或者多個序列,實際上這就是function對應的實參 返回值:返回值是迭代器,注意返回的結果只能迭代一次,如果需要多次使用請提前保存結果并處理。 ''' map(function, iterable, ...)# 注意返回的結果只能迭代一次 x = map(func1,range(0,10))print(list(x))//返回有數據的列表# map函數返回的迭代器只能迭代一次,迭代之后會自動清空 print(list(x)) // 返回空列表三.Python map 函數實戰
1.使用 map 函數
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python map 函數.py @Time:2021/04/13 07:37 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""def func1(x):# 對序列中的每一個元素乘以10并返回return x*10'''map() 會根據提供的函數對指定序列做映射。序列中的每一個元素調用 func1 函數,返回新列表。 ''' x = map(func1,range(0,10)) print(list(x)) # map函數返回的迭代器只能迭代一次,迭代之后會自動清空 print(list(x))print("***"*20) # 將map函數返回的迭代器保存轉為list,可以多次使用 y = list(map(func1,range(0,10))) print(y) print(y)''' 輸出結果:[0, 10, 20, 30, 40, 50, 60, 70, 80, 90] [] ************************************************************ [0, 10, 20, 30, 40, 50, 60, 70, 80, 90] [0, 10, 20, 30, 40, 50, 60, 70, 80, 90] '''2.map 函數配合 lambda 匿名函數一起使用
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python map 函數.py @Time:2021/04/13 07:37 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""# map函數配合匿名函數使用 x = list(map(lambda a:a*10,range(0,10))) # 序列中的每個元素乘以10 print(x)# map函數配合匿名函數使用,匿名函數有兩個參數,所以map傳參數應該也是兩個序列 y = list(map(lambda a,b:a+b,[1,2,3,5,6,7],[10,20,30,50,60,70])) # 兩個序列相加 print(y)''' 輸出結果:[0, 10, 20, 30, 40, 50, 60, 70, 80, 90] [11, 22, 33, 55, 66, 77] '''注意:如果 map 函數中的函數是多個參數,那么 map 傳參的時候也應該傳遞多個序列.
四.Python map 函數效率對比
對比一下效率,向列表 list 中存入一千萬條數據,比較下耗時情況:
# !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:猿說編程 @Blog(個人博客地址): www.codersrc.com @File:Python map 函數.py @Time:2021/04/13 07:37 @Motto:不積跬步無以至千里,不積小流無以成江海,程序人生的精彩需要堅持不懈地積累!"""import time list1 = list()# 普通for循環 start = time.clock() for i in range(0,10000000):list1.append(i) print("普通for循環耗時:",time.clock() - start)# 列表推導式 list1.clear() start = time.clock() list1 = [i for i in range(0,10000000)] print("列表推導式循環耗時:",time.clock() - start)# map映射函數 list1.clear() start = time.clock() list1 = list(map(lambda x:x,range(0,10000000))) print("map映射函數耗時:",time.clock() - start)''' 輸出結果:普通for循環耗時: 1.1869014999999998 列表推導式循環耗時: 0.5339119999999999 map映射函數耗時: 0.9047431000000001 '''** 根據測試結果看來:列表推導式效率 > map 映射函數 > 普通for 循環**
五.Python map 函數總結
- 1.map 函數的參數是由函數和一個序列或者多個序列構成;
- ** 2.map 函數處理的結果是迭代器,而且只能迭代一次,如果需要多次使用,請提前保存;**
六.猜你喜歡
未經允許不得轉載:猿說編程 ? Python map 函數
總結
以上是生活随笔為你收集整理的Python map 函数 -Python零基础入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python变量 - Python零基础
- 下一篇: React之类式组件中的构造器与prop