国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python中的常用函數(shù)

這篇具有很好參考價(jià)值的文章主要介紹了Python中的常用函數(shù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1.range()是一個(gè)函數(shù)

for i in range () 就是給i賦值:

比如 for i in range (1,3):

就是把1,2依次賦值給i

range () 函數(shù)的使用是這樣的:

range(start, stop[, step]),分別是起始、終止和步長(zhǎng)

舉例:

range(3)即:從0到3,不包含3,即0,1,2

>>> for i in range(3):
	print(i)
 
0
1
2

range(1,3,2)即:從1到3,每次增加2,因?yàn)?+2=3,所以輸出只有1

第三個(gè)數(shù)字2是代表步長(zhǎng)。如果不設(shè)置,就是默認(rèn)步長(zhǎng)為1

>>> for i in range(1,3,2):
	print(i)
 
1

2.Python數(shù)字函數(shù)

函數(shù) 返回值(描述)
abs(x) 返回?cái)?shù)字的絕對(duì)值,如abs(-10)返回10
ceil(x) 返回?cái)?shù)字的上入整數(shù),如math.ceil(4.1)返回5
cmp(x,y) 如果 x < y 返回 -1,如果x == y 返回0,如果x > y 返回1
exp(x) 返回e的x次冪(ex),如果math.exp(1)返回2.718281828459045)
fabs(x) 返回?cái)?shù)字的絕對(duì)值,如math.fabs(-10)返回10.0
floor(x) 返回?cái)?shù)字的下設(shè)整數(shù),如math.floor(4,9)返回4
log(x) log() 返回 x 的自然對(duì)數(shù),如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x) 返回以10為基數(shù)的x的對(duì)數(shù),如math.log10(100)返回2.0
max(x1,x2,…) 返回給定參數(shù)的最大值,參數(shù)可以為序列
min(x1,x2,…) 返回給定參數(shù)的最小值,參數(shù)可以為序列
modf(x) 返回x的整數(shù)部分與小數(shù)部分,兩部分的數(shù)值符號(hào)與x相同,整數(shù)部分以浮點(diǎn)型表示
pow(x,y) x**y運(yùn)算后的結(jié)果
round(x,[n]) 返回浮點(diǎn)數(shù)x的四舍五入值,如給出n值,則代表舍入到小數(shù)點(diǎn)后的位數(shù)
sqrt(x) 返回?cái)?shù)字x的平方根

3.Python隨機(jī)函數(shù)

隨機(jī)數(shù)可以用于數(shù)字,游戲,安全等領(lǐng)域中,還經(jīng)常被嵌入到算法中,用以提高算法效率,并提高程序的安全性;
Python包含以下常用隨機(jī)函數(shù):

函數(shù) 描述
choice()seq 從序列的元素中隨機(jī)挑選一個(gè)元素,比如random.choice(range(10)),從0到9中隨機(jī)挑選一個(gè)整數(shù)
randrange([start,] stop [,step]) 從指定基數(shù)遞增的集合中獲取一個(gè)隨機(jī)數(shù),基數(shù)默認(rèn)值為1
random() 隨機(jī)生成一個(gè)實(shí)數(shù),它在[0,1)范圍內(nèi)
seed([x]) 改變隨機(jī)數(shù)生成器的種子seed。如果你不了解其原理,你不必特別去設(shè)定seed,Python會(huì)幫你選擇seed
shuffle(lst) 將序列的所有元素隨機(jī)排列
unifrom(x,y) 隨機(jī)生成下一個(gè)實(shí)數(shù),它在[x,y]范圍內(nèi)

4.Python的字符串內(nèi)建函數(shù)

字符串方法是從python1.6到2.0慢慢加進(jìn)來的——它們也被加到了Python中;
這些實(shí)現(xiàn)了string模塊的大部分方法,如下表所示除了目前字符串內(nèi)建支持的方法,都包含了對(duì)Unicode的支持,有一些甚至是專門用于Unicode的。

方法 描述
string.capitalize() 把字符串的第一個(gè)字符大寫
string.center(width) 返回一個(gè)原字符串居中,并使用空格填充至長(zhǎng)度width的新字符串
string.count(str, beg=0, end=len(string)) 返回 str 在 string 里面出現(xiàn)的次數(shù),如果 beg 或者 end 指定則返回指定范圍內(nèi) str 出現(xiàn)的次數(shù)
string.decode(encoding=‘UTF-8’, errors=‘strict’) 以 encoding 指定的編碼格式解碼 string,如果出錯(cuò)默認(rèn)報(bào)一個(gè) ValueError 的 異 常 , 除非 errors 指 定 的 是 ‘ignore’ 或 者’replace’
string.encode(encoding=‘UTF-8’, errors=‘strict’) 以 encoding 指定的編碼格式編碼 string,如果出錯(cuò)默認(rèn)報(bào)一個(gè)ValueError 的異常,除非 errors 指定的是’ignore’或者’replace’
string.endswith(obj, beg=0, end=len(string)) 檢查字符串是否以 obj 結(jié)束,如果beg 或者 end 指定則檢查指定的范圍內(nèi)是否以 obj 結(jié)束,如果是,返回 True,否則返回 False.
string.expandtabs(tabsize=8) 把字符串 string 中的 tab 符號(hào)轉(zhuǎn)為空格,tab 符號(hào)默認(rèn)的空格數(shù)是 8。
string.find(str, beg=0, end=len(string)) 檢測(cè) str 是否包含在 string 中,如果 beg 和 end 指定范圍,則檢查是否包含在指定范圍內(nèi),如果是返回開始的索引值,否則返回-1
string.format() 格式化字符串
string.index(str, beg=0, end=len(string)) 跟find()方法一樣,只不過如果str不在 string中會(huì)報(bào)一個(gè)異常.
string.isalnum() 如果 string 至少有一個(gè)字符并且所有字符都是字母或數(shù)字則返回 True,否則返回 False
string.isalpha() 如果 string 至少有一個(gè)字符并且所有字符都是字母則返回 True,否則返回 False
string.isdecimal() 如果 string 只包含十進(jìn)制數(shù)字則返回 True 否則返回 False.
string.isdigit() 如果 string 只包含數(shù)字則返回 True 否則返回 False.
string.islower() 如果 string 中包含至少一個(gè)區(qū)分大小寫的字符,并且所有這些(區(qū)分大小寫的)字符都是小寫,則返回 True,否則返回 False
string.isnumeric() 如果 string 中只包含數(shù)字字符,則返回 True,否則返回 False
string.isspace() 如果 string 中只包含空格,則返回 True,否則返回 False.
string.istitle() 如果 string 是標(biāo)題化的(見 title())則返回 True,否則返回 False
string.isupper() 如果 string 中包含至少一個(gè)區(qū)分大小寫的字符,并且所有這些(區(qū)分大小寫的)字符都是大寫,則返回 True,否則返回 False
string.join(seq) 以 string 作為分隔符,將 seq 中所有的元素(的字符串表示)合并為一個(gè)新的字符串
string.ljust(width) 返回一個(gè)原字符串左對(duì)齊,并使用空格填充至長(zhǎng)度 width 的新字符串
string.lower() 轉(zhuǎn)換 string 中所有大寫字符為小寫.
string.lstrip() 截掉 string 左邊的空格
string.maketrans(intab, outtab) maketrans() 方法用于創(chuàng)建字符映射的轉(zhuǎn)換表,對(duì)于接受兩個(gè)參數(shù)的最簡(jiǎn)單的調(diào)用方式,第一個(gè)參數(shù)是字符串,表示需要轉(zhuǎn)換的字符,第二個(gè)參數(shù)也是字符串表示轉(zhuǎn)換的目標(biāo)。
max(str) 返回字符串 str 中最大的字母。
min(str) 返回字符串 str 中最小的字母。
string.partition(str) 有點(diǎn)像 find()和 split()的結(jié)合體,從 str 出現(xiàn)的第一個(gè)位置起,把 字 符 串 string 分 成 一 個(gè) 3 元 素 的 元 組 (string_pre_str,str,string_post_str),如果 string 中不包含str 則 string_pre_str == string.
string.replace(str1, str2, num=string.count(str1)) 把 string 中的 str1 替換成 str2,如果 num 指定,則替換不超過 num 次.
string.rfind(str, beg=0,end=len(string) ) 類似于 find() 函數(shù),返回字符串最后一次出現(xiàn)的位置,如果沒有匹配項(xiàng)則返回 -1。
string.rindex( str, beg=0,end=len(string)) 類似于 index(),不過是返回最后一個(gè)匹配到的子字符串的索引號(hào)。
string.rjust(width) 返回一個(gè)原字符串右對(duì)齊,并使用空格填充至長(zhǎng)度 width 的新字符串
string.rpartition(str) 類似于 partition()函數(shù),不過是從右邊開始查找
string.rstrip() 刪除 string 字符串末尾的空格.
string.split(str=“”, num=string.count(str)) 以 str 為分隔符切片 string,如果 num 有指定值,則僅分隔 num+1 個(gè)子字符串
string.splitlines([keepends]) 按照行(‘\r’, ‘\r\n’, ‘\n’)分隔,返回一個(gè)包含各行作為元素的列表,如果參數(shù) keepends 為 False,不包含換行符,如果為 True,則保留換行符。
string.startswith(obj, beg=0,end=len(string)) 檢查字符串是否是以 obj 開頭,是則返回 True,否則返回 False。如果beg 和 end 指定值,則在指定范圍內(nèi)檢查.
string.strip([obj]) 在 string 上執(zhí)行 lstrip()和 rstrip()
string.swapcase() 翻轉(zhuǎn) string 中的大小寫
string.title() 返回"標(biāo)題化"的 string,就是說所有單詞都是以大寫開始,其余字母均為小寫(見 istitle())
string.translate(str, del=“”) 根據(jù) str 給出的表(包含 256 個(gè)字符)轉(zhuǎn)換 string 的字符,要過濾掉的字符放到 del 參數(shù)中
string.upper() 轉(zhuǎn)換 string 中的小寫字母為大
string.zfill(width) 返回長(zhǎng)度為 width 的字符串,原字符串 string 右對(duì)齊,前面填充0

5.文件操作函數(shù)

序號(hào) 方法及描述
1 file.close()關(guān)閉文件。關(guān)閉后文件不能再進(jìn)行讀寫操作。
2 file.flush()刷新文件內(nèi)部緩沖,直接把內(nèi)部緩沖區(qū)的數(shù)據(jù)立刻寫入文件, 而不是被動(dòng)的等待輸出緩沖區(qū)寫入。
3 file.fileno()返回一個(gè)整型的文件描述符(file descriptor FD 整型), 可以用在如os模塊的read方法等一些底層操作上。
4 file.isatty()如果文件連接到一個(gè)終端設(shè)備返回 True,否則返回 False。
5 file.next()返回文件下一行。
6 file.read([size])從文件讀取指定的字節(jié)數(shù),如果未給定或?yàn)樨?fù)則讀取所有。
7 file.readline([size])讀取整行,包括 “\n” 字符。
8 file.readlines([sizeint])讀取所有行并返回列表,若給定sizeint>0,則是設(shè)置一次讀多少字節(jié),這是為了減輕讀取壓力。
9 file.seek(offset[, whence])設(shè)置文件當(dāng)前位置
10 file.tell()返回文件當(dāng)前位置。
11 file.truncate([size])截取文件,截取的字節(jié)通過size指定,默認(rèn)為當(dāng)前文件位置。
12 file.write(str)將字符串寫入文件,返回的是寫入的字符長(zhǎng)度。
13 file.writelines(sequence)向文件寫入一個(gè)序列字符串列表,如果需要換行則要自己加入每行的換行符。

1.open函數(shù)
語法:


file object = open(file_name [, access_mode][, buffering])
//完整版
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

各個(gè)參數(shù)的細(xì)節(jié)如下:

  • file_name:file_name變量是一個(gè)包含了你要訪問的文件名稱的字符串值。
  • access_mode:access_mode決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個(gè)參數(shù)是非強(qiáng)制的,默認(rèn)文件訪問模式為只讀?。
  • buffering:如果buffering的值被設(shè)為0,就不會(huì)有寄存。如果buffering的值取1,訪問文件時(shí)會(huì)寄存行。如果將buffering的值設(shè)為大于1的整數(shù),表明了這就是的寄存區(qū)的緩沖大小。如果取負(fù)值,寄存區(qū)的緩沖大小則為系統(tǒng)默認(rèn)。
  • encoding: 一般使用utf8
  • errors: 報(bào)錯(cuò)級(jí)別
  • newline: 區(qū)分換行符
  • closefd: 傳入的file參數(shù)類型
  • opener: 設(shè)置自定義開啟器,開啟器的返回值必須是一個(gè)打開的文件描述符。
    1.close函數(shù)
    File 對(duì)象的 close()方法刷新緩沖區(qū)里任何還沒寫入的信息,并關(guān)閉該文件,這之后便不能再進(jìn)行寫入。

當(dāng)一個(gè)文件對(duì)象的引用被重新指定給另一個(gè)文件時(shí),Python 會(huì)關(guān)閉之前的文件。用 close()方法關(guān)閉文件是一個(gè)很好的習(xí)慣。

語法:

fileObject.close()

1.seek函數(shù)

seek(offset [,from])

方法改變當(dāng)前文件的位置。Offset變量表示要移動(dòng)的字節(jié)數(shù)。From變量指定開始移動(dòng)字節(jié)的參考位置。

如果from被設(shè)為0,這意味著將文件的開頭作為移動(dòng)字節(jié)的參考位置。如果設(shè)為1,則使用當(dāng)前的位置作為參考位置。如果它被設(shè)為2,那么該文件的末尾將作為參考位置。

1.tell函數(shù)
tell()方法告訴你文件內(nèi)的當(dāng)前位置, 換句話說,下一次的讀寫會(huì)發(fā)生在文件開頭這么多字節(jié)之后。

2.write函數(shù)
write()方法可將任何字符串寫入一個(gè)打開的文件。需要重點(diǎn)注意的是,Python字符串可以是二進(jìn)制數(shù)據(jù),而不是僅僅是文字。

write()方法不會(huì)在字符串的結(jié)尾添加換行符(‘\n’):

1.read函數(shù)
read()方法從一個(gè)打開的文件中讀取一個(gè)字符串。需要重點(diǎn)注意的是,Python字符串可以是二進(jìn)制數(shù)據(jù),而不是僅僅是文字。

語法:

fileObject.read([count])

在這里,被傳遞的參數(shù)是要從已打開文件中讀取的字節(jié)計(jì)數(shù)。該方法從文件的開頭開始讀入,如果沒有傳入count,它會(huì)嘗試盡可能多地讀取更多的內(nèi)容,很可能是直到文件的末尾。

舉例:

fo = open("test.txt",'r+')
print("fo->name:%s,fo->mode:%s"%(fo.name,fo.mode))
fo.write("this is my test.")
 
str = fo.read(5)
print("first read:%s"%str)
#查找當(dāng)前位置
print("當(dāng)前位置:",fo.tell())
fo.seek(0,0)
print("當(dāng)前位置:",fo.tell())
print("str:",fo.read(20))
fo.close()

open函數(shù)中mode 參數(shù)有:

模式 描述
t 文本模式 (默認(rèn))。
x 寫模式,新建一個(gè)文件,如果該文件已存在則會(huì)報(bào)錯(cuò)。
b 二進(jìn)制模式。
+ 打開一個(gè)文件進(jìn)行更新(可讀可寫)。
U 通用換行模式(不推薦)。
r 以只讀方式打開文件。文件的指針將會(huì)放在文件的開頭。這是默認(rèn)模式。
rb 以二進(jìn)制格式打開一個(gè)文件用于只讀。文件指針將會(huì)放在文件的開頭。這是默認(rèn)模式。一般用于非文本文件如圖片等。
r+ 打開一個(gè)文件用于讀寫。文件指針將會(huì)放在文件的開頭。
rb+ 以二進(jìn)制格式打開一個(gè)文件用于讀寫。文件指針將會(huì)放在文件的開頭。一般用于非文本文件如圖片等。
w 打開一個(gè)文件只用于寫入。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會(huì)被刪除。如果該文件不存在,創(chuàng)建新文件。
wb 以二進(jìn)制格式打開一個(gè)文件只用于寫入。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會(huì)被刪除。如果該文件不存在,創(chuàng)建新文件。一般用于非文本文件如圖片等。
w+ 打開一個(gè)文件用于讀寫。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會(huì)被刪除。如果該文件不存在,創(chuàng)建新文件。
wb+ 以二進(jìn)制格式打開一個(gè)文件用于讀寫。如果該文件已存在則打開文件,并從開頭開始編輯,即原有內(nèi)容會(huì)被刪除。如果該文件不存在,創(chuàng)建新文件。一般用于非文本文件如圖片等。
a 打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說,新的內(nèi)容將會(huì)被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。
ab 以二進(jìn)制格式打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說,新的內(nèi)容將會(huì)被寫入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。
a+ 打開一個(gè)文件用于讀寫。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。文件打開時(shí)會(huì)是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫。
ab+ 以二進(jìn)制格式打開一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。如果該文件不存在,創(chuàng)建新文件用于讀寫。

6、zip函數(shù)

對(duì)于我們的兩個(gè)list,a和b,list(zip(a, b))生成了一個(gè)列表。在這個(gè)列表中,每個(gè)元素是一個(gè)tuple;對(duì)于第i個(gè)元組,它其中的內(nèi)容是(a[i-1], b[i-1])。這樣的操作,與壓縮軟件的“壓縮”十分接近。如果我們繼續(xù)在zip()中加入更多的參數(shù),比如zip(a, b, c, d),那么在將它轉(zhuǎn)換成list之后,結(jié)果當(dāng)然就是[(a[0], b[0], c[0], d[0]), (a[1], b[1], c[1], d[1]), …, (a[n-1], b[n-1], c[n-1], d[n-1])]。

事實(shí)上,在 Python 3 中,為了節(jié)省空間,zip()返回的是一個(gè)tuple的迭代器,這也是我們?yōu)槭裁匆{(diào)用list()將它強(qiáng)制轉(zhuǎn)換成list的原因。不過,Python 2中,它直接返回的就是一個(gè)列表了。

如果我們傳入zip()中的幾個(gè)參數(shù)不等長(zhǎng),會(huì)有什么結(jié)果呢?zip()很靈活,如果幾個(gè)參數(shù)不等長(zhǎng),那么它會(huì)取最短的那個(gè)參數(shù)的長(zhǎng)度,然后再進(jìn)行處理。至于那些超出最短長(zhǎng)度的成員,就只好被舍棄掉了。

origin = zip(result) #前面加號(hào),事實(shí)上*號(hào)也是一個(gè)特殊的運(yùn)算符,叫解包運(yùn)算符

例子:

numbers = [ 1, 2, 3]
string = [ 'one','two','three']
result = zip(numbers,string)
lresult = list(result)
print(set(result))
 
print(lresult)
c,v = zip(*lresult)
print('num:', c)
print("str:", v)

結(jié)果:

[(1, 'one'), (2, 'two'), (3, 'three')]
num: (1, 2, 3)
str: ('one', 'two', 'three')

7、python內(nèi)置函數(shù)set

  • set函數(shù)返回值:一個(gè) set object (集合對(duì)象,即 一個(gè) “無序不重復(fù)元素集”,特點(diǎn) :無序,不重復(fù))
  • 參數(shù):空 或者 一個(gè)可迭代對(duì)象。
    特性一:不重復(fù)??梢允址奖愕膶?shí)現(xiàn)一個(gè)去重的目的。當(dāng)然,我們也可以將set對(duì)象轉(zhuǎn)化為其它的可迭代對(duì)象。

特性二:無序。對(duì)于無序的可迭代對(duì)象,不能通過索引的方式取值。

set對(duì)象內(nèi)置方法:

1.add 即:添加一個(gè)元素進(jìn)入集合,當(dāng)此元素存在時(shí), 無影響(啥也不做)。
2.clear 即:將集合中所有元素移除(變?yōu)榭占希?br> 3.copy 即:返回一個(gè)集合的淺拷貝
4.difference 即:將兩個(gè)和或多個(gè)集合進(jìn)行比較,返回一個(gè)新集合,這個(gè)集合中的元素存在于**第一個(gè)集合(或調(diào)用這個(gè)方法的集合)中,但不存在于其它集合中。
5.difference_update 即:從
第一個(gè)集合(或調(diào)用這個(gè)方法的集合)中移除所有屬于其它集合但不屬于第一個(gè)集合(或調(diào)用這個(gè)方法的集合)**的所有元素。需要特別注意的是,這個(gè)方法返回值并不是一個(gè)新集合。
6.remove() 即:清除一個(gè)元素可以用 remove 或者 discard, 而清除全部可以用 clear.
7.difference() 即:進(jìn)行一些篩選操作, 比如對(duì)比另一個(gè)東西, 看看原來的 set 里有沒有和他不同的 (difference).

編寫一個(gè)函數(shù)來查找字符串?dāng)?shù)組中的最長(zhǎng)公共前綴

strs = ['hello','helool','heool']
lst = list(strs)
def longestCommonPrefix(strs):
    result = ""
    print(set(zip(*strs)))
    for temp in zip(*strs):
        print("tmp:",temp)
        if len(set(temp)) == 1:
            result += temp[0]
        else:
            break
    return result
 
print( longestCommonPrefix(lst))

結(jié)果:

{('e', 'e', 'e'), ('o', 'o', 'l'), ('h', 'h', 'h'), ('l', 'o', 'o'), ('l', 'l', 'o')}
tmp: ('h', 'h', 'h')
tmp: ('e', 'e', 'e')
tmp: ('l', 'l', 'o')
he

8.python中的round()函數(shù)

round()
 
round()是python自帶的一個(gè)函數(shù),用于數(shù)字的四舍五入。
 
round(number,digits)

參數(shù):

  • digits>0,四舍五入到指定的小數(shù)位
  • digits=0, 四舍五入到最接近的整數(shù)
  • digits<0 ,在小數(shù)點(diǎn)左側(cè)進(jìn)行四舍五入
  • 如果round()函數(shù)只有number這個(gè)參數(shù),等同于digits=0

四舍五入規(guī)則:

  • 要求保留位數(shù)的后一位<=4,則進(jìn)位,如round(5.214,2)保留小數(shù)點(diǎn)后兩位,結(jié)果是 5.21
  • 要求保留位數(shù)的后一位“=5”,且該位數(shù)后面沒有數(shù)字,則不進(jìn)位,如round(5.215,2),結(jié)果為5.21
  • 要求保留位數(shù)的后一位“=5”,且該位數(shù)后面有數(shù)字,則進(jìn)位,如round(5.2151,2),結(jié)果為5.22
  • 要求保留位數(shù)的后一位“>=6”,則進(jìn)位。如round(5.216,2),結(jié)果為5.22

9.字典中setdefault函數(shù)

在setdefault函數(shù)使用時(shí),如果不指定value,默認(rèn)的value就是None(None在Python中也是一個(gè)對(duì)象,記住Python中一切都是對(duì)象,Python支持動(dòng)態(tài)類型變換)。

setdefault函數(shù)的設(shè)計(jì)思想,設(shè)置key對(duì)應(yīng)的默認(rèn)值,如果key存在,key對(duì)應(yīng)的value不會(huì)被改變,而且函數(shù)總是返回key的默認(rèn)值。

在setdefault之后,dict類型的對(duì)象就有了index(key),然后就可以直接通過index來修改對(duì)應(yīng)的value。或者直接通過index(key),可以增加dict對(duì)象中的key-value pairs。

字典常用函數(shù)/操作:
Python中的常用函數(shù)


10、python中items函數(shù)

items:函數(shù)以列表返回可遍歷的(鍵, 值) 元組數(shù)組常與for循環(huán)搭配

//例如
a={'a':1,'b':2,'c':3}
print(a.items())
for key,value in a.items():
    print("key:",key)
    print('value;',value)
//輸出
dict_items([('a', 1), ('b', 2), ('c', 3)])
key: a
value; 1
key: b
value; 2
key: c
value; 3

11.python中的strip()函數(shù)

返回刪除前導(dǎo)和尾隨空格的字符串副本。如果給定了chars而不是None,則刪除chars中的字符。(該方法只能刪除開頭或是結(jié)尾的字符,不能刪除中間部分的字符。)

第一種:strip()當(dāng)函數(shù)體內(nèi)不存在任何的字符的時(shí)候則返回的是刪除字符串前導(dǎo)和尾隨空格的字符串副本(一般用來去除前后的空格)

第二種:strip()當(dāng)函數(shù)體內(nèi)存在字符的時(shí)候則得到的是刪除字符串頭尾相應(yīng)字符的字符串副本

a = “abcdef123456cba”
print(a.strip(“abc”))
>>> def123456

12.python中數(shù)字與字符的轉(zhuǎn)換

int(x ) 將x轉(zhuǎn)換為一個(gè)整數(shù)
long(x) 將x轉(zhuǎn)換為一個(gè)長(zhǎng)整數(shù)
float(x ) 將x轉(zhuǎn)換到一個(gè)浮點(diǎn)數(shù)
complex(real [,imag ]) 創(chuàng)建一個(gè)復(fù)數(shù)
str(x ) 將對(duì)象 x 轉(zhuǎn)換為字符串
repr(x ) 將對(duì)象 x 轉(zhuǎn)換為表達(dá)式字符串
eval(str ) 用來計(jì)算在字符串中的有效Python表達(dá)式,并返回一個(gè)對(duì)象
tuple(s ) 將序列 s 轉(zhuǎn)換為一個(gè)元組
list(s ) 將序列 s 轉(zhuǎn)換為一個(gè)列表
chr(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)字符
unichr(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為Unicode字符
ord(x ) 將一個(gè)字符轉(zhuǎn)換為它的整數(shù)值
hex(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)十六進(jìn)制字符串
oct(x ) 將一個(gè)整數(shù)轉(zhuǎn)換為一個(gè)八進(jìn)制字符串

13.hasattr() 函數(shù)用于判斷對(duì)象是否包含對(duì)應(yīng)的屬性。

hasattr(object, name)
object -- 對(duì)象。
name -- 字符串,屬性名。
return
如果對(duì)象有該屬性返回 True,否則返回 False。

14. filter() 函數(shù)

(1)、filter()函數(shù)的簡(jiǎn)介和語法:

filter()函數(shù)用于過濾序列,過濾掉不符合條件的元素,返回符合條件的元素組成新列表。

(2)、filter()語法如下:

filter(function,iterable)

function – 判斷函數(shù)。

iterable – 可迭代對(duì)象

序列中的每個(gè)元素作為參數(shù)傳遞給函數(shù)進(jìn)行判斷, 返回True或者False,最后將返回True的元素放到新列表中

(3)、filter()使用舉例

栗子1: 過濾掉列表當(dāng)中的數(shù)字0

list_num = [1, 2, 3, 0, 8, 0, 3]
print(list(filter(lambda x: x, list_num)))

結(jié)果為:
[1, 2, 3, 8, 3]
栗子2:過濾列表中數(shù)字的大小寫(針對(duì)的是字母全都是大寫或小寫的情況)

list_word = ['a', 'B', 'c', 'd', 'E']
print(list(filter(lambda x: x.isupper(), list_word)))
print(list(filter(lambda x: x.islower(), list_word)))

結(jié)果為:

['B', 'E']
['a', 'c', 'd']

例子3:與dict構(gòu)成的列表處理例子

dict_a = [{'name': 'python', 'points': 10}, {'name': 'java', 'points': 8}]
test_filter = filter(lambda x : x['name'] == 'python', dict_a)
print(list(test_filter))
 
輸出結(jié)果:
[{'name': 'python', 'points': 10}]

例子4:去除空格字符

b = ['\n    ', '1', '  ','Tuesday, May 05, 2020','\n',None]
 
def not_empty(s):
    return s and s.strip()
c = filter(not_empty,b)
print(list(c))
結(jié)果:
[‘1’, ‘Tuesday, May 05, 2020’]

15.isinstance() 內(nèi)置函數(shù)

isinstance() 函數(shù)來判斷一個(gè)對(duì)象是否是一個(gè)已知的類型,類似 type()。

sinstance() 與 type() 區(qū)別:

type() 不會(huì)認(rèn)為子類是一種父類類型,不考慮繼承關(guān)系。

isinstance() 會(huì)認(rèn)為子類是一種父類類型,考慮繼承關(guān)系。

如果要判斷兩個(gè)類型是否相同推薦使用 isinstance()。

1、原型

isinstance(object, classinfo)

2、參數(shù)

object – 實(shí)例對(duì)象。 classinfo – 可以是直接或間接類名、基本類型或者由它們組成的元組。

3、返回值

如果對(duì)象的類型與參數(shù)二的類型(classinfo)相同則返回 True,否則返回 False。

實(shí)例:(獲取嵌套的數(shù)組列表)文章來源地址http://www.zghlxwxcb.cn/news/detail-452508.html

def flatten(nest_list:list):
    out = []
    for i in nest_list:
        if isinstance(i, list):
            tmp_list = flatten(i)
            for j in tmp_list:
                out.append(j)
        else:
            out.append(i)
    return out
    
    
    
測(cè)試結(jié)果:

a = [[1,2], ['a','b', [3, 4]]]
b = flatten(a)
print(b)
# 輸出: [1, 2, 'a', 'b', 3, 4]

到了這里,關(guān)于Python中的常用函數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python 基礎(chǔ) - 迭代器 / 迭代器對(duì)象 / 可迭代對(duì)象 / range函數(shù)

    目錄 1. 迭代器 2.迭代器對(duì)象 3. 可迭代對(duì)象 4. range函數(shù) 1. 迭代器 當(dāng)類中定義了__iter__和 __next__兩個(gè)方法 __iter__: 返回對(duì)象本身,即self __next__: 返回下一個(gè)數(shù)據(jù),如果沒有數(shù)據(jù),則拋出StopIteration異常 2.迭代器對(duì)象 通過迭代器類實(shí)例化創(chuàng)建的迭代器對(duì)象 可以通過 obj.__next__() 或

    2023年04月27日
    瀏覽(19)
  • python如何調(diào)用另外一個(gè)py文件中的函數(shù)

    在Python中,可以通過導(dǎo)入模塊的方式調(diào)用另外一個(gè).py文件中的函數(shù)。具體步驟如下: 創(chuàng)建一個(gè).py文件,其中包含需要調(diào)用的函數(shù),例如: 在調(diào)用該函數(shù)的代碼文件中,使用 import 導(dǎo)入這個(gè).py文件(注意,要確保兩個(gè)文件處于同一目錄下),例如: 在這個(gè)例子中,首先

    2024年02月11日
    瀏覽(32)
  • Python 調(diào)用同一文件夾下另一個(gè).py文件中的類和函數(shù)

    Python 調(diào)用同一文件夾下另一個(gè).py文件中的類和函數(shù)

    A.py文件如下: 在B.py文件調(diào)用A.py文件的add函數(shù)如下: 輸出結(jié)果為: A.py文件如下: 在B.py文件調(diào)用A.py文件的add函數(shù)如下: 得到結(jié)果: 參考鏈接 python調(diào)用另一個(gè).py文件中的類和函數(shù)或直接運(yùn)行另一個(gè).py文件

    2024年02月13日
    瀏覽(19)
  • range函數(shù)

    range函數(shù)

    range函數(shù)一般配合for循環(huán)使用 range是一個(gè)整數(shù)序列,是一個(gè)可迭代類型 可以用for進(jìn)行遍歷,但是沒辦法直接print內(nèi)部的所有元素。 range(起始值,結(jié)束值,步長(zhǎng))其整數(shù)序列范圍,包含起始位置,不包含結(jié)束位置。 案例:(2) range構(gòu)造的是一個(gè)整數(shù)序列,包含多個(gè)整數(shù),區(qū)間

    2024年02月09日
    瀏覽(18)
  • MYSQL窗口函數(shù)(Rows & Range)——滑動(dòng)窗口函數(shù)用法

    MYSQL窗口函數(shù)(Rows & Range)——滑動(dòng)窗口函數(shù)用法

    窗口函數(shù)語法: 窗口函數(shù) over (partition by 用于分組的列名 order by 用于排序的列名 rows/range子句用于定義窗口大小 ) 窗口函數(shù)可以放以下兩種函數(shù): 1) 專用窗口函數(shù),包括后面要講到的rank, dense_rank, row_number等專用窗口函數(shù)。 2) 聚合函數(shù),如sum. avg, count, max, min等 1)專用窗口

    2024年02月10日
    瀏覽(16)
  • Golang 中的 bufio 包詳解(五):常用函數(shù)

    Golang 中的 bufio 包是帶緩沖 I/O 操作的標(biāo)準(zhǔn)庫,之前的幾篇文章詳細(xì)講解了 bufio.Reader、bufio.Writer 和 bufio.Scanner 這個(gè)幾個(gè)結(jié)構(gòu)體的使用方法、特性和使用場(chǎng)景,本文介紹一下 bufio 包中的函數(shù)。 介紹常用函數(shù)之前,先簡(jiǎn)單介紹下另一個(gè)結(jié)構(gòu)體類型和一個(gè)函數(shù)類型:bufio.ReadWriter

    2024年02月11日
    瀏覽(15)
  • 一文搞懂 MySQL 中的常用函數(shù)及用法

    一文搞懂 MySQL 中的常用函數(shù)及用法

    MySQL是一種常用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它提供了許多內(nèi)置函數(shù)來處理數(shù)據(jù)。本文將介紹MySQL中的各種常用函數(shù),包括字符串函數(shù)、日期函數(shù)、數(shù)學(xué)函數(shù)、聚合函數(shù)等。 1.1CONCAT函數(shù) CONCAT函數(shù)用于將兩個(gè)或多個(gè)字符串連接在一起。它的語法如下: 其中,str1、str2等為要連接的

    2024年02月10日
    瀏覽(25)
  • Golang 中的 archive/zip 包詳解(三):常用函數(shù)

    Golang 中的 archive/zip 包用于處理 ZIP 格式的壓縮文件,提供了一系列用于創(chuàng)建、讀取和解壓縮 ZIP 格式文件的函數(shù)和類型,使用起來非常方便,本文講解下常用函數(shù)。 定義如下: 打開一個(gè) ZIP 文件,并返回一個(gè) zip.ReadCloser 類型的對(duì)象。簡(jiǎn)單使用示例如下: 定義如下: 創(chuàng)建一個(gè)

    2024年02月10日
    瀏覽(19)
  • 一個(gè)處理Range List的面試題解法

    一個(gè)處理Range List的面試題解法

    最近看到一個(gè)比較有意思的面試題。題目不算難,但是想把效率優(yōu)化做好,也沒那么容易。 我們先看下題目 這題大體的意思是:設(shè)計(jì)一個(gè)RangeList類,它保存了一批左閉右開的區(qū)間。它支持add操作,可以新增一個(gè)包含區(qū)間,但是可能會(huì)影響之前的區(qū)間,比如之前的區(qū)間是:[

    2024年01月24日
    瀏覽(15)
  • 【QT深入理解】QT中的幾種常用的排序函數(shù)

    排序函數(shù)是一種在編程中常用的函數(shù),它可以對(duì)一個(gè)序列(如數(shù)組,列表,向量等)中的元素進(jìn)行排序,使其按照一定的順序排列。排序函數(shù)可以根據(jù)不同的排序算法,如冒泡排序,選擇排序,插入排序,快速排序,歸并排序,堆排序等,實(shí)現(xiàn)不同的排序效果。排序函數(shù)的作

    2024年02月03日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包