分享10個(gè)常用的Python內(nèi)置函數(shù),可以極大的提高效率哦!!
↑ 關(guān)注 + 星標(biāo) ,每天學(xué)Python新技能
后臺(tái)回復(fù)【大禮包】送你Python自學(xué)大禮包
enumerate()函數(shù)用于將一個(gè)可遍歷的數(shù)據(jù)對(duì)象(例如列表、元祖或者字符串)組合成一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在for循環(huán)
用法:enumerate(iterable, start = 0)
phones = ['Apple','Huawei','Xiaomi']print(list(enumerate(phones)))-----------------------------------------[(0, 'Apple'), (1, 'Huawei'), (2, 'Xiaomi')]
zip()函數(shù)用于將可迭代的對(duì)象作為參數(shù),將對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)個(gè)元祖,然后返回由這些元素組成的列表。如果各個(gè)迭代器的元素個(gè)數(shù)不一致,則返回列表長(zhǎng)度與最短的對(duì)象相同,利用*號(hào)操作符,可以將元組解壓成列表
用法:zip(*iterables)
numbers = [1,3,4,5]characters = ['A','B','C','D']zipped = zip(numbers,characters)print(zipped)print(list(zipped))------------------------<zip object at 0x000002340D93D048>[(1, 'A'), (3, 'B'), (4, 'C'), (5, 'D')]
map()函數(shù)會(huì)根據(jù)提供的函數(shù)對(duì)指定序列做映射,第一個(gè)參數(shù)function以參數(shù)序列中的每一個(gè)元素調(diào)用function函數(shù),返回包含每次function函數(shù)返回值的新列表
用法:map(function, iterable)
def square(n):return n * nnumbers = [1, 4, 6, 8, 10]result = list(map(square, numbers))print(result)----------------------------------[1, 16, 36, 64, 100]
除了可以用于自己設(shè)定的函數(shù)之外,python內(nèi)置的函數(shù)可以用到map()函數(shù)當(dāng)中去,例如
numbers = [1.2335,5.6453,9.463,6.34]round_numbers = list(map(round,numbers))print(round_numbers)-----------------------------------------[1, 6, 9, 6]
Python當(dāng)中的lambda可以用來創(chuàng)建匿名函數(shù),并且包含多個(gè)參數(shù),但是函數(shù)體卻比def簡(jiǎn)單很多
用法:lambda arguments:expression
square = lambda x: x*xnumbers = [1, 4, 6, 8, 10]results = list(map(square, numbers))print(results)------------------------------------[1, 16, 36, 64, 100]
filter()函數(shù)用于過濾序列,過濾掉不符合條件的元素,返回由符合條件元素組成的新列表。其中接收兩個(gè)參數(shù),第一個(gè)為函數(shù),第二個(gè)為序列,序列的每個(gè)元素作為參數(shù)傳遞給函數(shù)進(jìn)行判斷,然后返回 True 或 False,最后將返回 True 的元素放到新列表中。
用法:filter(function, iterable)
numbers = [1,3,4,6,7,8,10,12]check_even = lambda x:x%2==0even_numbers = list(filter(check_even,numbers))print(even_numbers)------------------------------------------------[4, 6, 8, 10, 12]
open()函數(shù)用于打開一個(gè)文件夾,并返回文件對(duì)象,在對(duì)文件進(jìn)行處理過程中都需要使用到這個(gè)函數(shù),如果該文件無法被打開,會(huì)拋出OSError問題。
用法:open(filename, mode, encoding, newline)
其中“mode”用于確定不同的方式來打開文件,有“r”代表只是讀取文件,還有“w”模式也就是寫入文件,“a”模式意味著追加模式等等
f = open('data.txt', mode='w')ord()函數(shù)以一個(gè)字符作為參數(shù),返回對(duì)應(yīng)的ASCII數(shù)值,或者Unicode數(shù)值
用法:ord(value)
print(ord('4')) # Specifying A Integerprint(ord('A')) # Specifying A Characterprint(ord('/')) # Specifying A Special Character--------------------------------526547
split()函數(shù)通過制定分隔符對(duì)字符串進(jìn)行切片,
用法:str.split(separator, maxsplit)
參數(shù)maxsplit也就是分割的最大次數(shù),默認(rèn)是-1
print('I Love Python'.split())-------------------------------------['I', 'Love', 'Python']text = "Apple, Huawei, Xiaomi, Oppo"print(text.split(", ", 2)) ## 做了兩次分割,其余的保留-------------------------------------['Apple', 'Huawei', 'Xiaomi, Oppo']
data = [True, True, False, False, False]print(any(data))print(all(data))----------------------------TrueFalsedata = [True,True,True,True]print(any(data))print(all(data))-------------------------------TrueTrue
import osprint(os.getcwd()) ## 打印出當(dāng)前所處的目錄os.chdir('../') ## 改變目前所處的目錄os.mkdir() ## 在當(dāng)前的目錄再新建一個(gè)目錄os.listdir() ## 在當(dāng)前的目錄下羅列出所有的文件os.remove(FILE_PATH) ## 刪除文件os.rename(FILE_PATH) ## 給文件重命名
推薦閱讀
看完記得關(guān)注@Python綠色通道 及時(shí)收看更多好文 ↓↓↓

