Python學(xué)習(xí)小技巧有哪些-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)Python學(xué)習(xí)小技巧有哪些的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

成都創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營銷,包括成都網(wǎng)站設(shè)計、成都做網(wǎng)站、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營銷策劃推廣、電子商務(wù)、移動互聯(lián)網(wǎng)營銷等。成都創(chuàng)新互聯(lián)為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,成都創(chuàng)新互聯(lián)核心團隊十多年專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗,為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。

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

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

true_part if condition else false_part

a,b=2,3
c=a if a>b else b

a,b=2,1
c=a if a>b else b

>>> print c
2

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

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

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

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

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

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

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

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

a,b=2,1
c = (a>b and [a] or [b])[0]

>>> print c
2

使用列表

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

>>> print c
7

分析:若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)
1

字典(dict)

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

dict_items()

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

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

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=lambda d:d[1], reverse = True)
print(dict)

輸出的結(jié)果:

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

下面我們分解下代碼:

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

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

2 對字典按鍵(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=lambda d: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] if k in D, else d. d defaults to None.

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

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

import numpy as np
from PIL import Image

img = Image.open(filepath)
img_convert_ndarray = np.array(img)
ndarray_convert_img= Image.fromarray(img_convert_ndarray )


# np.array(object) 這個函數(shù)很強大啊,看源碼里面給的注釋
# object : array_like
#      An array, any object exposing the array interface, an object whose
#      __array__ method returns an array, or any (nested) sequence.

感謝各位的閱讀!關(guān)于“Python學(xué)習(xí)小技巧有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當(dāng)前名稱:Python學(xué)習(xí)小技巧有哪些-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://muchs.cn/article16/djecgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、品牌網(wǎng)站制作、App開發(fā)、搜索引擎優(yōu)化、標(biāo)簽優(yōu)化、網(wǎng)站導(dǎo)航

廣告

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

成都網(wǎng)站建設(shè)公司