欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中的常用函數(shù)使用及說明

 更新時間:2024年02月09日 10:26:52   作者:Z_RINGRUI  
這篇文章主要介紹了Python中的常用函數(shù)使用及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

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

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

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

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

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

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

舉例:

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,因為1+2=3,所以輸出只有1

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

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

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

函數(shù)返回值(描述)
abs(x)返回數(shù)字的絕對值,如abs(-10)返回10
ceil(x)返回數(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)返回數(shù)字的絕對值,如math.fabs(-10)返回10.0
floor(x)返回數(shù)字的下設(shè)整數(shù),如math.floor(4,9)返回4
log(x)log() 返回 x 的自然對數(shù),如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x)返回以10為基數(shù)的x的對數(shù),如math.log10(100)返回2.0
max(x1,x2,…)返回給定參數(shù)的最大值,參數(shù)可以為序列
min(x1,x2,…)返回給定參數(shù)的最小值,參數(shù)可以為序列
modf(x)返回x的整數(shù)部分與小數(shù)部分,兩部分的數(shù)值符號與x相同,整數(shù)部分以浮點型表示
pow(x,y)x**y運算后的結(jié)果
round(x,[n])返回浮點數(shù)x的四舍五入值,如給出n值,則代表舍入到小數(shù)點后的位數(shù)
sqrt(x)返回數(shù)字x的平方根

3.Python隨機函數(shù)

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

Python包含以下常用隨機函數(shù):

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

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

字符串方法是從python1.6到2.0慢慢加進來的——它們也被加到了Python中;

這些實現(xiàn)了string模塊的大部分方法,如下表所示除了目前字符串內(nèi)建支持的方法,都包含了對Unicode的支持,有一些甚至是專門用于Unicode的。

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

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

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

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)

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

  • file_name:file_name變量是一個包含了你要訪問的文件名稱的字符串值。
  • access_mode:access_mode決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個參數(shù)是非強制的,默認文件訪問模式為只讀®。
  • buffering:如果buffering的值被設(shè)為0,就不會有寄存。如果buffering的值取1,訪問文件時會寄存行。如果將buffering的值設(shè)為大于1的整數(shù),表明了這就是的寄存區(qū)的緩沖大小。如果取負值,寄存區(qū)的緩沖大小則為系統(tǒng)默認。
  • encoding: 一般使用utf8
  • errors: 報錯級別
  • newline: 區(qū)分換行符
  • closefd: 傳入的file參數(shù)類型
  • opener: 設(shè)置自定義開啟器,開啟器的返回值必須是一個打開的文件描述符。

1.close函數(shù)

File 對象的 close()方法刷新緩沖區(qū)里任何還沒寫入的信息,并關(guān)閉該文件,這之后便不能再進行寫入。

當一個文件對象的引用被重新指定給另一個文件時,Python 會關(guān)閉之前的文件。用 close()方法關(guān)閉文件是一個很好的習慣。

語法:

fileObject.close()

1.seek函數(shù)

seek(offset [,from])

方法改變當前文件的位置。Offset變量表示要移動的字節(jié)數(shù)。

From變量指定開始移動字節(jié)的參考位置。

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

1.tell函數(shù)

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

2.write函數(shù)

write()方法可將任何字符串寫入一個打開的文件。

需要重點注意的是,Python字符串可以是二進制數(shù)據(jù),而不是僅僅是文字。

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

1.read函數(shù)

read()方法從一個打開的文件中讀取一個字符串。

需要重點注意的是,Python字符串可以是二進制數(shù)據(jù),而不是僅僅是文字。

語法:

fileObject.read([count])

在這里,被傳遞的參數(shù)是要從已打開文件中讀取的字節(jié)計數(shù)。

該方法從文件的開頭開始讀入,如果沒有傳入count,它會嘗試盡可能多地讀取更多的內(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)
#查找當前位置
print("當前位置:",fo.tell())
fo.seek(0,0)
print("當前位置:",fo.tell())
print("str:",fo.read(20))
fo.close()

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

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

6.zip函數(shù)

對于我們的兩個list,a和b,list(zip(a, b))生成了一個列表。在這個列表中,每個元素是一個tuple;對于第i個元組,它其中的內(nèi)容是(a[i-1], b[i-1])。

這樣的操作,與壓縮軟件的“壓縮”十分接近。如果我們繼續(xù)在zip()中加入更多的參數(shù),比如zip(a, b, c, d),那么在將它轉(zhuǎn)換成list之后,結(jié)果當然就是[(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])]。

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

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

origin = zip(result) #前面加號,事實上*號也是一個特殊的運算符,叫解包運算符

例子:

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ù)返回值:一個 set object (集合對象,即 一個 “無序不重復(fù)元素集”,特點 :無序,不重復(fù))
  • 參數(shù):空 或者 一個可迭代對象。

特性一:不重復(fù)??梢允址奖愕膶崿F(xiàn)一個去重的目的。當然,我們也可以將set對象轉(zhuǎn)化為其它的可迭代對象。

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

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

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

編寫一個函數(shù)來查找字符串數(shù)組中的最長公共前綴

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()是python自帶的一個函數(shù),用于數(shù)字的四舍五入。 

round(number,digits)

參數(shù):

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

四舍五入規(guī)則:

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

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

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

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

在setdefault之后,dict類型的對象就有了index(key),然后就可以直接通過index來修改對應(yīng)的value。

或者直接通過index(key),可以增加dict對象中的key-value pairs。

字典常用函數(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()當函數(shù)體內(nèi)不存在任何的字符的時候則返回的是刪除字符串前導(dǎo)和尾隨空格的字符串副本(一般用來去除前后的空格)

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

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

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

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

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

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

14. filter() 函數(shù)

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

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

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

filter(function,iterable)
  • function – 判斷函數(shù)。
  • iterable – 可迭代對象

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

(3)、filter()使用舉例

栗子1: 過濾掉列表當中的數(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ù)字的大小寫(針對的是字母全都是大寫或小寫的情況)

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ù)來判斷一個對象是否是一個已知的類型,類似 type()。

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

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

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

1、原型

isinstance(object, classinfo)

2、參數(shù)

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

3、返回值

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

實例:(獲取嵌套的數(shù)組列表)

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
    
    
    
測試結(jié)果:

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

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用pytorch實現(xiàn)可視化中間層的結(jié)果

    使用pytorch實現(xiàn)可視化中間層的結(jié)果

    今天小編就為大家分享一篇使用pytorch實現(xiàn)可視化中間層的結(jié)果,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 使用jupyter notebook直接打開.md格式的文件

    使用jupyter notebook直接打開.md格式的文件

    這篇文章主要介紹了使用jupyter notebook直接打開.md格式的文件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Flask框架Jinjia模板常用語法總結(jié)

    Flask框架Jinjia模板常用語法總結(jié)

    這篇文章主要介紹了Flask框架Jinjia模板常用語法,結(jié)合實例形式總結(jié)分析了Jinjia模板的變量、賦值、流程控制、函數(shù)、塊、宏等基本使用方法,需要的朋友可以參考下
    2018-07-07
  • windows下python連接oracle數(shù)據(jù)庫

    windows下python連接oracle數(shù)據(jù)庫

    這篇文章主要為大家詳細介紹了windows下python連接oracle數(shù)據(jù)庫,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Python爬蟲之爬取淘女郎照片示例詳解

    Python爬蟲之爬取淘女郎照片示例詳解

    這篇文章主要介紹了Python爬蟲之爬取淘女郎照片示例詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Python 處理文件的幾種方式

    Python 處理文件的幾種方式

    這篇文章主要介紹了Python 處理文件的幾種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • python實現(xiàn)讀取excel文件中所有sheet操作示例

    python實現(xiàn)讀取excel文件中所有sheet操作示例

    這篇文章主要介紹了python實現(xiàn)讀取excel文件中所有sheet操作,涉及Python基于openpyxl模塊的Excel文件讀取、遍歷相關(guān)操作技巧,需要的朋友可以參考下
    2019-08-08
  • Redis持久化機制實現(xiàn)原理和流程

    Redis持久化機制實現(xiàn)原理和流程

    這篇文章主要介紹了Redis持久化機制實現(xiàn)原理和流程,持久化就是把內(nèi)存中的數(shù)據(jù)存放到磁盤中,防止宕機后內(nèi)存數(shù)據(jù)丟失,需要的朋友可以參考下
    2023-04-04
  • 教你用 Python 實現(xiàn)微信跳一跳(Mac+iOS版)

    教你用 Python 實現(xiàn)微信跳一跳(Mac+iOS版)

    這幾天看網(wǎng)上好多微信跳一跳破解了,不過都是安卓的,無奈蘋果不是開源也沒辦法。本文給大家分享用 Python 來玩微信跳一跳(Mac+iOS版),具體實現(xiàn)代碼大家參考下本文
    2018-01-01
  • python-httpx的具體使用

    python-httpx的具體使用

    HTTPX是Python3的功能齊全的HTTP客戶端,它提供同步和異步API,本文主要介紹了python-httpx的具體使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評論