日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python map 函数 -Python零基础入门教程

發布時間:2024/9/27 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 字符串/列表/元組/字典之間的相互轉換
  • Python 局部變量和全局變量
  • Python type 函數和 isinstance 函數區別
  • Python is 和 == 區別
  • Python 可變數據類型和不可變數據類型
  • Python 淺拷貝和深拷貝
  • Python 遞歸函數
  • Python sys 模塊
  • Python 列表 list
  • Python 元組 tuple
  • Python 字典 dict
  • Python 條件推導式
  • Python 列表推導式
  • Python 字典推導式
  • Python 函數聲明和調用
  • Python 不定長參數 *argc/**kargcs
  • 未經允許不得轉載:猿說編程 ? Python map 函數

    總結

    以上是生活随笔為你收集整理的Python map 函数 -Python零基础入门教程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。