>大綱
#字典(dict)是python中唯一的乙個對映型別.他是以括起來的鍵值對組成. 在dict中key是# 唯⼀的. 在儲存的時候, 根據key來計算出乙個記憶體位址. 然後將key-value儲存在這個位址中.
# 這種演算法被稱為hash演算法, 所以, 切記, 在dict中儲存的key-value中的key'必須是可hash的,
# 如果你搞不懂什什麼是可雜湊, 暫時可以這樣記, 可以改變的都是不可雜湊的,
# 已知的可雜湊(不可變)的資料型別: int, str, tuple, bool(true,false)
# 不可雜湊(可變)的資料型別: list, dict, set
# 那麼可雜湊就意味著不可變. 這個是為了能準確的計算記憶體位址⽽規定的.
# 對於dict中value可以是所有,str,常量,list,int,tuple等.
# ********************
## dic =
# print(dic)
# #
# ********************
# # 方法一
# dic ["baby"] = "黃曉明的老婆"# print(dic)
# #
# # 方法二
# # 方法二# dic.setdefault("馬蓉","王寶強的前妻")
# print(dic)
# #
# # 特殊情況一
# # 當新增的鍵已經存在字典中
# dic ["baby"] = "漂亮"# print(dic)
# # 當key已經存在時,會吧以前的value替
# # 換成新value
# # 特殊情況二
# dic.setdefault("馬蓉","張集的情人")# print(dic)
# # 當key已經存在時,不會再新增.
# # 特殊情況三
# dic ["name"] = ""# print(dic)
# # 當value為空時,增加的也是# # 空##
# dic.setdefault("age","")
# print(dic)
# # 當value為空
# # 時,增加的也是空
# 方法一
# name_dict =# name_dict.pop("add")
# print(name_dict)
# # ret = name_dict.pop("add")
# print(ret)
# hebei pop刪除的內容可以被變數接受,但是只會返回value.
# 方法二
# del name_dict["age"]# print(name_dict)
#
# 方法三
# 隨機刪除# name_dict.popitem()
# print(name_dict)
# # ret = name_dict.popitem()
# print(ret)
# ('add', 'hebei') 返回的key和value,並新增到元祖中
# 方法一
# name_dict =# name_dict["age"] = 30
# print(name_dict)
#
# 方法二 (此方法作為了解)# dic2 =
# dic1.update(dic2)
# print(dic1)
# print(dic2)
# #
## # 從以上可以看看出是將dic2更新到了dic1中,但是再兩個字典中存在重複的key,結果是將dic2的相同key的# # # value更新到了dic1
# # 方法一# print(dic1.get("阿里巴巴"))
# # 馬雲
## # 當查詢的key為空時,返回none
# print(dic1.get(""))
# # none
# # 方法二 setdefault除了可以新增還可以通過key查詢value,但是需要變數接受,或者直接print
# # 方法二 setdefault除了可以新增還可以通過key查詢value,但是需要變數接受,或者直接print# # 馬化騰
# setdefault功能完全講解,除了增加,還能查詢
# # 下面這個例子,可以看出setdefault有兩步,一是新增,當新增的這個key在dict中不存在時,會新增這個鍵值# # # 對,如果key存在時不新增# # 二然後根據新增的key去返回對應的value
# ret = dic1.setdefault("蘇寧","abc")
# print(ret)
# # abc
# .keys() 返回字典中所有的key# print(dic1.keys())
# .values() 返回字典中所有的value# print(dic1.values())
# # dict_values(['馬雲', '劉強東', '馬化騰']) 返回所有的value,但是輸出到了乙個類似列表的乙個列表中,可以for迴圈
# # .items() 返回所有的鍵值對# print(dic1.items()) # 返回所有的鍵值對
# # 將返回的所有的鍵值放進乙個列表,每乙個鍵值對又被放進列表中的乙個元組中,同樣可以使用for
# 字典本身就是乙個可迭代的資料型別,所以可以進行for迴圈# for n in dic1:
# print(n)
# 阿里巴巴
# 京東
# 但是預設參加迴圈的時字典的key,所以會列印dic1的所有key
#那麼如何將字典的value通過for迴圈遍歷呢,方法有很多.....
# 方法一# for n in dic1.values(): #.values()取到的就是字典的每乙個value,所以直接遍歷的就是value
# print(n)
# 馬雲
# 劉強東
# 馬化騰
# 方法二# for n in dic1: #這裡迴圈的是字典本身,但是前面學過如何單個的取出key對應的value,那就是下面的**
# print(dic1[n]) #用字典加上key,輸出的就是value,方法很多...
# print(dic1.get(n))
# print(dic1.setdefault(n))
# 馬雲
# 馬雲
# 馬雲
# 劉強東
# 劉強東
# 劉強東
# 馬化騰
# 馬化騰
# 馬化騰
# ********************
# 現有如下字典
superstart = },"chair":[,
]}
問題一:
# 現在要求輸出汪峰的第二個孩子是男孩還是女孩.
# print(superstart.get("chair")[1]["gender"])
問題二:
# 輸出汪峰老婆三月掙了多少錢?
# print(superstart["wife"]["gongzi"]["三月"])
# 定義兩個變數,兩個值
# a = 1# b = 2
# print(a,b)
# 結果:1 2
# 解包之後
# a,b = (1,2)# print(a,b)
# 結果:1 2
python字典的常用操作
coding utf 8 新建乙個字典 d printd xiaoming 訪問字典中的某個元素 d xiaoqin 25 新增元素 printd d.pop xiaoming 刪除元素 printd d.popitem 隨機返回並刪除字典中的一對鍵和值 printd d.clear 刪除字典所有元...
python 字典的常用操作
1 字典 1.1 python字典的概述 字典是乙個無序的,可以修改的,元素呈鍵值對的形式,以逗號分割的,以大括號包圍的序列 字典是python基礎資料型別當中唯一乙個對映關係的資料型別 由於字典無序,所以我們定義字典和字典生成之後的元素的順序是不同的 1.2 python字典的定義 1.定義字典 ...
字典的常用操作python
4 刪除字典 5 合併兩個字典 6 字典解析 7 整體 字典的鍵唯一,值不唯一dict1 dict dict2 dict3 dict 1,2 3,4 list 5,6,7 seq a b c dicts dict.fromkeys seq,10 dict1 1 2 1 2 dict2 age 24 ...