最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python學(xué)習(xí)小技巧總結(jié)

 更新時間:2018年06月10日 08:48:43   作者:sinat_34022298  
本篇文章給大家總結(jié)了關(guān)于python相關(guān)知識點(diǎn)學(xué)習(xí)的技巧以及難點(diǎn),有興趣的朋友可以參考學(xué)習(xí)下。

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

C語言中有三元條件表達(dá)式,如 a>b?a:b,Python中沒有三目運(yùn)算符(?:),但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)的特點(diǎn)就是無序的,按照鍵(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ù)很強(qiáng)大啊,看源碼里面給的注釋
# 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)文章

最新評論

阳曲县| 原阳县| 蓝山县| 迁安市| 黎川县| 江北区| 蓬莱市| 汝南县| 册亨县| 延边| 陆川县| 华容县| 湄潭县| 金平| 海城市| 山西省| 翼城县| 苏尼特右旗| 哈密市| 临西县| 新宾| 云林县| 扎兰屯市| 盘山县| 读书| 洞口县| 桐庐县| 辽宁省| 城步| 盐源县| 旌德县| 黄大仙区| 肥城市| 济宁市| 阳曲县| 张家界市| 仙居县| 汽车| 揭阳市| 宁阳县| 山阳县|