国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > Python 里面的一些小技巧

Python 里面的一些小技巧

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-07 07:30:20 1699313420

三元條件判斷的3種實(shí)現(xiàn)方法

C語言中有三元條件表達(dá)式,如a>b?a:b,Python中沒有三目運(yùn)算符(?:),但Python有它自己的方式來實(shí)現(xiàn)類似的功能。這里介紹3種方法:

true_partifconditionelsefalse_part

a,b=2,3

c=aifa>belseb

a,b=2,1

c=aifa>belseb

>>>printc

利用and-or條件判斷的特性來實(shí)現(xiàn)三元條件判斷

首先介紹一下,and和or的用法:

python中的and從左到右計(jì)算表達(dá)式,若所有值均為真,則返回最后一個(gè)值,若存在假,返回第一個(gè)假值。

無論是列表,元組還是字符串,空表示False,非空表示True

>>>'python'and[]and(2,3)

[]

>>>'python'and[2,3]and(3,4)

(3,4)

or也是從左到右計(jì)算表達(dá)式,存在真,則返回第一個(gè)為真的值,若均為假,則返回最后一個(gè)值。

>>>'python'or[3,4]or()

'python'

>>>''or[]or()

()

然后,我們利用and-or條件判斷的特性來實(shí)現(xiàn)三元條件判斷:

a,b=2,1

c=(a>band[a]or[b])[0]

>>>printc

使用列表

a,b=2,7

c=[b,a][a>b]

>>>printc

分析:若a>b為真,由于真用1表示,因此相當(dāng)于c=[b,a][1],即c=a

若a>b為假,由于假用0表示,因此相當(dāng)于c=[b,a][0],即c=b

>>>int(False)

0

>>>int(True)

字典(dict)

以下問題都是在用Python寫KNN的時(shí)候遇到的:

dict_items()

python字典(dict)的特點(diǎn)就是無序的,按照鍵(key)來提取相應(yīng)值(value),如果我們需要字典按值排序的話,那可以用下面的方法來進(jìn)行:

1下面的是按照value的值從大到小的順序來排序。

輸出的結(jié)果:

[(‘a(chǎn)a’,74),(‘a(chǎn)’,31),(‘bc’,5),(‘a(chǎn)sd’,4),(‘c’,3),(‘d’,0)]

下面我們分解下代碼:

printdic.items()得到[(鍵,值)]的列表。

然后用sorted方法,通過key這個(gè)參數(shù),指定排序是按照value,也就是元素d[1]的值來排序。reverse=True表示是需要翻轉(zhuǎn)的,默認(rèn)是從小到大,翻轉(zhuǎn)的話,那就是從大到小。

2對(duì)字典按鍵(key)排序:

dic={‘a(chǎn)’:31,‘bc’:5,‘c’:3,‘a(chǎn)sd’:4,‘a(chǎn)a’:74,‘d’:0}

dict=sorted(dic.items(),key=lambdad:d[0])

print(dict)

dict_get()

dic={‘a(chǎn)’:31,‘bc’:5,‘c’:3,‘a(chǎn)sd’:4,‘a(chǎn)a’:74,‘d’:0}

dic.get(‘a(chǎn)’,1)

31

dic.get(‘d’,1)

0

dic.get(‘f’,1)

1

D.get(k[,d])->D[k]ifkinD,elsed.ddefaultstoNone.

如果k在字典中,返回D[k],即value值,否則返回d,d默認(rèn)為None

Image和Ndarray互相轉(zhuǎn)換

importnumpyasnp

fromPILimportImage

img=Image.open(filepath)

img_convert_ndarray=np.array(img)

ndarray_convert_img=Image.fromarray(img_convert_ndarray)

#np.array(object)這個(gè)函數(shù)很強(qiáng)大啊,看源碼里面給的注釋

#object:array_like

#Anarray,anyobjectexposingthearrayinterface,anobjectwhose

#__array__methodreturnsanarray,orany(nested)sequence.

以上內(nèi)容為大家介紹了Python里面的一些小技巧,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://www.kei0345678.cn/

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
Python的元組

什么是python元組?java中可沒有聽過內(nèi)置元組這樣的數(shù)據(jù)結(jié)構(gòu)。在前面已經(jīng)講了列表,知道一個(gè)列表可以存儲(chǔ)多個(gè)數(shù)據(jù)結(jié)構(gòu)。元組和列表很像,但要記...詳情>>

2023-11-07 10:26:45
python單元測(cè)試框架unittest

unittest是python單元測(cè)試框架,又叫做PyUnit。之所以稱為框架是它代替開發(fā)人員完成了一些調(diào)用、IO等與單元測(cè)試無直接關(guān)系的支撐代碼,讓開發(fā)人...詳情>>

2023-11-07 09:57:57
了解Python語言中的時(shí)間處理

Python語言對(duì)于時(shí)間的處理繼承了C語言的傳統(tǒng),時(shí)間值是以秒為單位的浮點(diǎn)數(shù),記錄的是從1970年1月1日零點(diǎn)到現(xiàn)在的秒數(shù),這個(gè)秒數(shù)可以轉(zhuǎn)換成我們...詳情>>

2023-11-07 09:21:57
Python數(shù)據(jù)分析相關(guān)的技術(shù)

1.機(jī)器學(xué)習(xí)和計(jì)算機(jī)視覺Crab:靈活、快速的推薦引擎gensim:人性化的話題建模庫hebel:GPU加速的深度學(xué)習(xí)庫NuPIC:智能計(jì)算Numenta平臺(tái)pattern...詳情>>

2023-11-07 09:14:45
python隊(duì)列Queue

QueueQueue是python標(biāo)準(zhǔn)庫中的線程安全的隊(duì)列(FIFO)實(shí)現(xiàn),提供了一個(gè)適用于多線程編程的先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),即隊(duì)列,用來在生產(chǎn)者和消費(fèi)者線程...詳情>>

2023-11-07 08:24:21