(一)介紹字典是一種可變的容器,可以儲存任意型別資料
字典中的每個資料都是用"鍵"進行索引的,而不像序列可以用下標(index)來進行索引
字典中的資料沒有先後順序關係,字典的儲存是無序的
字典中的資料以鍵(key)-值(value)對的形式進行對映儲存
字典的鍵不能重複,只能用"不可變的型別作為字典的鍵"
字典的字面值得表示方式:
字典的表示方式以{}括起來,以冒號(:)分隔鍵-值對
各鍵-值對中間用逗號分隔開
(二)建立字典:d={} #d繫結空字典
建立非空字典:
d =
d =
(三)字典的建構函式dictdict() 生成乙個空字典,等同於{}
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運算子計算時間會因為列表中元素個數的增加而增加
(2)字典的in運算子計算時間不會因為鍵值對的個數增加而增加,操作速度快於列表:l = [3,4,5,6,……,10976]
if 888 in l:
print(「888在列表中」) #慢
d=
if 888 in d:
print(「888在字典的鍵中」) #快
(九)字典的迭代訪問:容器是可迭代物件,字典只能對鍵進行迭代訪問
可以用於字典的內建(built-in)函式:d =
for k in d:
print(k)
print(d[k])
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 這個函式的功能是求兩個...