字典的常用操作

2022-07-17 09:39:15 字數 4501 閱讀 6482

>大綱

#字典(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 ...