国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python學習小技巧總結

2020-02-15 21:46:12
字體:
來源:轉載
供稿:網友

三元條件判斷的3種實現方法

C語言中有三元條件表達式,如 a>b?a:b,Python中沒有三目運算符(?:),但Python有它自己的方式來實現類似的功能。這里介紹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 c2

利用and-or條件判斷的特性來實現三元條件判斷

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

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

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

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

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

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

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

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

>>> print c2

使用列表

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

>>> print c7

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

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

>>> int(False)0>>> int(True)1

字典(dict)

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

dict_items()

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

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

dic = {‘a':31, ‘bc':5, ‘c':3, ‘asd':4, ‘aa':74, ‘d':0}
dict= sorted(dic.items(), key=lambda d:d[1], reverse = True)
print(dict)

輸出的結果:

[(‘aa', 74), (‘a', 31), (‘bc', 5), (‘asd', 4), (‘c', 3), (‘d', 0)]

下面我們分解下代碼:

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

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

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

dic = {‘a':31, ‘bc':5, ‘c':3, ‘asd':4, ‘aa':74, ‘d':0}
dict= sorted(dic.items(), key=lambda d:d[0])
print(dict)

dict_get()

dic = {‘a':31, ‘bc':5, ‘c':3, ‘asd':4, ‘aa':74, ‘d':0}

dic.get(‘a',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.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永德县| 南宫市| 定襄县| 广饶县| 贵南县| 资中县| 滨海县| 台江县| 通河县| 江口县| 体育| 洪洞县| 桃源县| 防城港市| 娱乐| 宁陵县| 滁州市| 沈阳市| 呼玛县| 瓦房店市| 东至县| 嘉义县| 邵武市| 永兴县| 庄浪县| 宣恩县| 奎屯市| 嵊泗县| 桂东县| 茶陵县| 安陆市| 安远县| 阜南县| 区。| 镇康县| 南和县| 龙川县| 彝良县| 承德市| 和田县| 卢龙县|