python字典是另一種可變容器模型,且可儲存任意型別物件,如字串、數字、元組等其他容器模型。字典都是無序的,但查詢速度快。
字典是乙個key/value的集合,key可以是任意可被雜湊(內部key被hash後作為索引)的型別。因此,key可以是文字、數字等任意型別。如果兩個數字'=='判斷相等,那麼key就相等,value會產生覆蓋(例如:1 == 1.0 # => true)。注意,浮點數比較很不精確,因此千萬不要用浮點數作為key!
jason是字串,區別於字典,只是格式比較像(key-value)
字典的每個鍵值 key=>value 對用冒號 : 分割,每個鍵值對之間用逗號 , 分割,整個字典包括在花括號 {} 中 ,格式如下所示:
d= 鍵一般是唯一的,如果重複最後的乙個鍵值對會替換前面的,值不需要唯一。鍵可以取任何資料型別,但必須是不可變的,所以列表不行,如可取字串,數字或元組。
dict =print(dict['
b']) #
輸出值是:3
print(dict) #
輸出:
一、建立字典
1. 空字典
stu_info = dict()#空字典
2. 字典由鍵和對應值成對組成。字典也被稱作關聯陣列或雜湊表。基本語法如下:
dict =
也可如此建立字典
dict1 =dict2 =
二、查詢、訪問字典裡的值
1. 把相應的鍵放入熟悉的方括弧,如下例項:
dict = ;print("
dict['name']:
", dict['
name'])
print("
dict['age']:
", dict['
age'])
#以上例項輸出結果:#dict['name']: zara#dict['age']: 7
如果用字典裡沒有的鍵訪問資料,會輸出錯誤如下:
dict =print ("
dict['name']:
", dict['
hhname10
'])
以上例項輸出結果:
traceback (most recent call last):file "e:/python學習/pycharm/python指令碼/day3/test.py", line 32, in
print ("dict['name']: ", dict['hhname10'])
keyerror: 'hhname10'
2. dict.get()方法查詢,如查詢的key不存在,也不會報error,而是返回none或者如果指定了預設值,返回預設值
print(dict.get('name
', '
此處可指定預設值,key不存在就輸出此值
')) #
如果key不存在且沒有指定預設值,則返回none
3. 獲取字典裡所有的key,或者所有的value
dict =print(dict.keys()) #
獲取字典裡面所有key
print(dict.values()) #
獲取字典裡面所有的value
以上輸出內容如下:
dict_keys([
'name
', '
age', '
class'])
dict_values([
'zara
', 7, '
first
'])
4. 迴圈取出字典裡所有的key,這種方式只能取出key,不能取value
for key indict:
(key)
以上內容輸出結果是:
name
ageclass
5. 迴圈取出字典裡的key-value
方法一:
dict =for i in
dict:
(i,dict[i])
以上輸出結果如下:
name zara
age 7class first
方法二:
dict =for i in
dict:
s = '
%s==>%s
' %(i, dict[i])
(s)輸出結果:
name==>zara
age==>7class==>first
方法三:(下面這種效率低,因為先會把字典轉換成二維陣列,然後在迴圈)
dict =for k,v in
dict.items():
print('
%s==>%s
' %(k,v))
輸出結果:
name==>zara
age==>7class==>first
6. 判斷key是否在字典裡存在,返回結果是true或者false,第一種方式執行效率高
print('name
'in dict) #
效率高,執行速度快
print('
name
'in dict.keys())
三、更新、修改字典裡的值(鍵值對)
1. 新增,方式一
dict['phone
']=15811111111 #
新增乙個字典裡沒有的元素
2. 新增,方式二,與方式一的區別在於setdefault新增乙個已經存在的key,它不會改變原來key的value
dict.setdefault('','qw@126.com
')
3. 修改,方法同新增方式一
dict['name']='
denise
'
4. 合併更新
d1=d2=d1.update(d2)
print(d1) #
輸出為:
四、刪除
1. dict.pop(『key』)
dict.pop('name
') #
刪除指定的key及其對應的value
2. del dict['key']
del dict['name
'] #
刪除指定的key及其對應的value
3. dict.clear()
dict.clear()#清空這個字典,返回空的字典
4. dict.popitem()
dict.popitem() #從字典裡隨機刪除乙個元素
5. del dict
deldict
print(dict) #
報錯:nameerror: name 'dict1' is not defined,因為此詞典已被刪除
python 字典的增刪改查
字典和json類似,也是採用鍵值對 key values 的方式進行儲存資料,在python中,用作字典的key必須是可雜湊的 不可變的資料型別,比如數字 元組和字串。字典的關鍵字為dict,用 表示,字典可以儲存大量資料,相對列表速度要快一些,字典是可變的 無序的,不支援索引。dic dic.se...
python字典的增,刪,改,查
字典 dict 1.字典是無序,可變的資料型別 2.字典 用於儲存資料,儲存大量資料,字典要比列表快,將資料和資料之間進行關聯 定義乙個字典 dic 字典中逗號分隔叫做乙個元素 六月 鍵 99 值 鍵值對 字典的鍵 字典的值 增 dic dic 十月 流火 暴力新增 print dic dic.se...
python 字典的增刪改查
字典的特點 可變型別 大括號 資料為鍵值對形式出現 各個鍵值對用逗號隔開 一.增 改 dict1 dict1 gender 女 print dict1 注 如果key存在則修改key對應的值,如果不存在則新增此鍵值對 二.刪1.del del 刪除字典或刪除字典中指定的鍵值對 dict1 del d...