python內置函數學習 python內置函數怎么用

Python基礎之常見內建函數

map() 函數接受兩個參數,一個是函數,一個是可迭代對象(Iterable), map 將傳入的函數依次作用到可迭代對象的每一個元素,并把結果作為迭代器(Iterator)返回。

創(chuàng)新互聯(lián)-專業(yè)網站定制、快速模板網站建設、高性價比銀海網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式銀海網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋銀海地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。

舉例說明,有一個函數 f(x)=x^2 ,要把這個函數作用到一個list [1,2,3,4,5,6,7,8,9] 上:

運用簡單的循環(huán)可以實現(xiàn):

運用高階函數 map() :

結果 r 是一個迭代器,迭代器是惰性序列,通過 list() 函數讓它把整個序列都計算出來并返回一個 list 。

如果要把這個list所有數字轉為字符串利用 map() 就簡單了:

小練習:利用 map() 函數,把用戶輸入的不規(guī)范的英文名字變?yōu)槭鬃帜复髮懫渌懙囊?guī)范名字。輸入 ['adam', 'LISA', 'barT'] ,輸出 ['Adam', 'Lisa', 'Bart']

reduce() 函數也是接受兩個參數,一個是函數,一個是可迭代對象, reduce 將傳入的函數作用到可迭代對象的每個元素的結果做累計計算。然后將最終結果返回。

效果就是: reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

舉例說明,將序列 [1,2,3,4,5] 變換成整數 12345 :

小練習:編寫一個 prod() 函數,可以接受一個 list 并利用 reduce 求積:

map() 和 reduce() 綜合練習:編寫 str2float 函數,把字符串 '123.456' 轉換成浮點型 123.456

filter() 函數用于過濾序列, filter() 也接受一個函數和一個序列, filter() 把傳入的函數依次作用于每個元素,然后根據返回值是 True 還是 False 決定保留還是丟棄該元素。

舉例說明,刪除list中的偶數:

小練習:用 filter() 求素數

定義一個篩選函數:

定義一個生成器不斷返回下一個素數:

打印100以內素數:

python內置的 sorted() 函數可以對list進行排序:

sorted() 函數也是一個高階函數,還可以接受一個 key 函數來實現(xiàn)自定義排序:

key 指定的函數將作用于list的每一個元素上,并根據 key 函數返回的結果進行排序.

默認情況下,對字符串排序,是按照ASCII的大小比較的,由于'Z' 'a',結果,大寫字母Z會排在小寫字母a的前面。如果想忽略大小寫可都轉換成小寫來比較:

要進行反向排序,不必改動key函數,可以傳入第三個參數 reverse=True :

小練習:假設我們用一組tuple表示學生名字和成績: L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)] 。用sorted()對上述列表分別按c成績從高到低排序:

運用匿名函數更簡潔:

Python 之內置函數:filter、map、reduce、zip、enumerate

這幾個函數在 Python 里面被稱為高階函數,本文主要學習它們的用法。

filter 函數原型如下:

第一個參數是判斷函數(返回結果需要是 True 或者 False),第二個為序列,該函數將對 iterable 序列依次執(zhí)行 function(item) 操作,返回結果是過濾之后結果組成的序列。

簡單記憶:對序列中的元素進行篩選,獲取符合條件的序列。

返回結果為: ,使用 list 函數可以輸入序列內容。

map 函數原型如下:

該函數運行之后生成一個 list,第一個參數是函數、第二個參數是一個或多個序列;

下述代碼是一個簡單的測試案例:

上述代碼運行完畢,得到的結果是: 。使用 print(list(my_new_list)) 可以得到結果。

map 函數的第一個參數,可以有多個參數,當這種情況出現(xiàn)后,后面的第二個參數需要是多個序列。

map 函數解決的問題:

reduce 函數原型如下:

第一個參數是函數,第二個參數是序列,返回計算結果之后的值。該函數價值在于滾動計算應用于列表中的連續(xù)值。

測試代碼如下:

最終的結果是 6,如果設置第三個參數為 4,可以運行代碼查看結果,最后得到的結論是,第三個參數表示初始值,即累加操作初始的數值。

簡單記憶:對序列內所有元素進行累計操作。

zip 函數原型如下:

zip 函數將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的列表。

如果各個迭代器的元素個數不一樣,則返回列表長度與最短的對象相同,利用星號( * )操作符,可以將元組解壓為列表。

測試代碼如下:

展示如何利用 * 操作符:

輸出結果如下:

簡單記憶:zip 的功能是映射多個容器的相似索引,可以方便用于來構造字典。

enumerate 函數原型如下:

參數說明:

該函數用于將一個可遍歷的數據對象組合為一個索引序列,同時列出數據和數據下標,一般用在 for 循環(huán)當中。

測試代碼如下:

返回結果為: 。

本文涉及的函數可以與 lambda 表達式進行結合,能大幅度提高編碼效率。最好的學習資料永遠是官方手冊

python基礎:內置函數、方法、轉義字符大全

在寫python程序時,常能用到一些函數和方法,總結一下,保存起來,方便查詢。

一、內置函數

# abs()獲取數字絕對值

# chr(i)數字轉換為字符類型

# divmod() 獲取兩個數值的商和余數

# enumerate() 將可遍歷序列組合為索引序列

# float()轉換為浮點數

# format() 格式化字符串

# int()轉換為整數?

# input() 接受用戶輸入內容

# len() 計算元素個數

# max() 返回最大值

# min() 返回最小值

# math.ceil() 返回指定數值的上舍整數

# open()打開文件并返回文件對象

# pow() 冪運算

# print()打印輸出?

# range() 生成器

# reversed()反轉所有元素

# round()四舍五入求值

# sorted()對可迭代對象進行排序?

# str() 轉換為字符串

# sum() 求和

# set() 創(chuàng)建集合

# tuple() 將序列轉換為元組

# zip()將可迭代對象打包成元組

二、方法

# append() 添加列表元素

# capitalize()首字母轉換為大寫?

# count()字符出現(xiàn)次數

# close() 關閉文件

# decode() 解碼字符串

# dict.keys() 獲取字典所有的鍵

# find()字符串首次出現(xiàn)的索引

# f.read() 讀取文件內容

# dict.update()更新字典

# dict.items() 獲取字典鍵/值對

# dict.get() 返回指定鍵的值

# encode() 編碼字符串

# list.sort() 排序列表元素

# index() 元素首次出現(xiàn)的索引

# isdigit() 判斷字符串是否只由數字組成

# isupper() 是否所有字母都為大寫

# isnum() 判斷字符串是否由字母和數字組成

# islower() 是否所有字母都為小寫

# isdecimal() 檢查字符串是否只包含十進制字符

# isalpha() 檢測字符串是否為純字母

# random.shuffle()隨機排序

# random.sample()返回無重復隨機數列表

# random.choice() 返回一個隨機元素

# random.randint() 生成指定范圍的隨機整數

# random.randrange() 生成指定范圍的指定遞增基數隨機整數

# pop() 刪除列表中的元素

# remove()刪除列表中的指定元素

# strip()去除空格

# lstrip()去除左側空格

# rstrip() 去除右側空格

# readline() 讀取單行內容

# root.after() Tkinter中等待一段時間后再執(zhí)行命令

# str.isnumeric() 驗證字符串是否為數字(適用于Unicode)

# split()分割字符串

# ord() 將字符轉換為整數

# replace() 字符串替換

# ljust() 左對齊填充

# rjust() 左對齊填充

# readlines() 讀取所有行內容

# datetime.datetime.now() 返回指定時區(qū)的本地日期時間

# datetime.datetime.today() 獲取當前本地日期的date對象

# datetime.utcnow() 返回當前UTC時間的datetime對象

# time.strptime()把時間字符串解析為元組

# time.time()返回當前時間的時間戳

# time.sleep()暫停指定秒數

# time.strftime() 返回指定格式的日期字符串

# time.mktime() 接收時間元組并返回時間戳

# os.getcwd() 獲取當前工作目錄

# os.listdir() 獲取指定路徑下的目錄和文件列表

# os.makedirs() 遞歸創(chuàng)建目錄

# os.rename() 重命名目錄或文件

# os.path.exists() 判斷路徑是否存在

# upper() 全部轉換為大寫字母

# lower()? 全部轉換為小寫字母

# sys.stdout.write() 標準輸出打印

# sys.stdout.flush()刷新輸出?

# shutil.copy() 復制單個文件到另一文件或目錄

# write() 寫入文件內容

# winsound.Beep() 打開電腦揚聲器

# zfill() 在字符串前面填充0

三、循環(huán)語句

# break終止當前循環(huán)

# continue 終止本循環(huán)進入下一次循環(huán)

# with open() as file 以with語句打開文件(數據保存)

四、轉義字符

\ 行尾續(xù)行符

\' 單引號?

\'' 雙引號

\a 響鈴

\e 轉義

\n 換行

\t 橫向制表符

\f 換頁

\xyy 十六進制yy代表的字符

\\反斜杠符號

\b 退格

\000 空

\v 縱向制表符

\r 回車

\0yy 八進制yy代表的字符

\other 其他的字符以普通格式輸出

網站題目:python內置函數學習 python內置函數怎么用
文章分享:http://muchs.cn/article12/doedidc.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站維護、域名注冊、外貿網站建設、企業(yè)網站制作網站改版、企業(yè)建站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司