Chapter07 python基礎 字典

2021-08-20 11:38:17 字數 2802 閱讀 8782

(一)介紹

字典是一種可變的容器,可以儲存任意型別資料

字典中的每個資料都是用"鍵"進行索引的,而不像序列可以用下標(index)來進行索引

字典中的資料沒有先後順序關係,字典的儲存是無序的

字典中的資料以鍵(key)-值(value)對的形式進行對映儲存

字典的鍵不能重複,只能用"不可變的型別作為字典的鍵"

字典的字面值得表示方式:

字典的表示方式以{}括起來,以冒號(:)分隔鍵-值對

各鍵-值對中間用逗號分隔開

(二)建立字典:

d={}       #d繫結空字典

建立非空字典:

d =

d =

(三)字典的建構函式dict

dict()   生成乙個空字典,等同於{}

dict(iterable)  用於迭代物件初始化乙個字典

dict(**kwargs)  用命名關鍵字傳參形式生成乙個字典

示例:d = dict()

d = dict([('name','jane'),('age',15)])

d = dict(name='jane',age=15)

(四)字典的鍵為不可變型別:

bool,int,float,complex,str,tuple,frozenset(固定集合),bytes(位元組串),包括none

可變的型別(不能充當字典的鍵):list,dict,set(集合),bytearray(位元組陣列)

(五)字典的基本操作:

(1)鍵索引:

語法:字典(鍵)

示例:>>>d =

>>>d

『jane』

>>>d

(2)新增/修改字典元素

字典[鍵] = 值物件

示例:d = {}

d[『birthday』] = (2002,1,1)        #新增鍵值對

d[『age』] =16                   #新增

d[『age』]=17                   #修改『age』鍵對應的值

(六)刪除字典元素del語句

語法:del 字典[鍵]

示例:d =

del d[『age』]     #刪除『age』鍵,無鍵則無值,即同時刪除了值

(七)字典的成員資格判斷 in/ not in運算子

用in 運算子可以判斷乙個鍵是否存在於字典中,如果存在則返回true,否則返回false

not in 返回值與 in 相反

示例:d =

1 in d              #true

2 not in d           #false

(八)列表的in 運算子和字典的in運算子比較:

(1)列表的in運算子計算時間會因為列表中元素個數的增加而增加

l = [3,4,5,6,……,10976]

if 888 in l:

print(「888在列表中」)             #慢

(2)字典的in運算子計算時間不會因為鍵值對的個數增加而增加,操作速度快於列表:

d= 

if 888 in d:

print(「888在字典的鍵中」)             #快

(九)字典的迭代訪問:

容器是可迭代物件,字典只能對鍵進行迭代訪問

d = 

for k in d:

print(k)

print(d[k])

可以用於字典的內建(built-in)函式:

len(x)          返回字典的鍵值對的個數

max(x) 返回字典的鍵的最大值

min(x) 返回字典的鍵的最小值

sum(x) 返回字典的所有鍵的和

any(x) 對所有鍵進行真值測試,有乙個true結果為true

all(x)           對所有鍵進行真值測試,所有為true才為true

示例:

d = 

for kv in d.items():

print(kv)

#-->(1,』one』)

#   (2,』two』)

#   (3,』three』)

(十)字典推導式:

作用:用可迭代物件生成字典

語法:注:的內容代表可省略

no = [1001,1002,1003,1004]

names = ['tom','jerry','spike','tyke']

d =

#或者d =

#-->d =

(十一)字典推導式的巢狀:語法同列表推導式巢狀

(十二)字典vs列表

都是可變物件

索引方式不同,列表用整數索引,字典用鍵索引

字典的查詢速度可能會快於列表(重要)

列表的儲存是有序的,字典的儲存是無序的

吳恩達老師機器學習課程chapter07 聚類

本文是非計算機專業新手的自學筆記,高手勿噴。本文僅作速查備忘之用,對應吳恩達 andrewng 老師的機器學期課程第十三章。缺少重要推演,只能作為入門了解。目錄這是一種無監督學習,即是說樣本不含有標籤 y 只有x。k均值法的思路如下 如果想將已有的樣本分為兩類,首先,在空間中任意生成兩個點,作為聚類...

Python基礎07 函式

函式最重要的目的是方便我們重複使用相同的一段程式。將一些操作隸屬於乙個函式,以後你想實現相同的操作的時候,只用呼叫函式名就可以,而不需要重複敲所有的語句。函式的定義 首先,我們要定義乙個函式,以說明這個函式的功能。def square sum a,b c a 2 b 2 return c 這個函式的...

Python基礎07 函式

函式最重要的目的是方便我們重複使用相同的一段程式。將一些操作隸屬於乙個函式,以後你想實現相同的操作的時候,只用呼叫函式名就可以,而不需要重複敲所有的語句。首先,我們要定義乙個函式,以說明這個函式的功能。def square sum a,b c a 2 b 2 return c 這個函式的功能是求兩個...