python資料型別 字典

2022-06-25 10:12:08 字數 4060 閱讀 3873

本節主要內容:

1. 字典的簡單介紹

2. 字典增刪改查和其他操作

3. 字典的巢狀

字典

字典(dict)是python中唯一的乙個對映型別.他是以括起來的鍵值對組成.在dict中key是唯一的. 在儲存的時候, 根據key來計算出乙個記憶體位址. 然後將key-value儲存在這個位址中. 這種演算法被稱為hash演算法, 所以, 切記,在dict中儲存的key-value中的key'必須是可hash的,如果你搞不懂什麼是可雜湊, 暫時可以這樣記,可以改變的都是不可雜湊的,那麼可雜湊就意味著不可變.這個是為了能準確的計算記憶體位址而規定的.

已知的可雜湊(不可變)的資料型別: int, str, tuple, bool

不可雜湊(可變)的資料型別: list, dict, set

dict儲存的資料不是按照我們新增進去的順序儲存的.是按照hash表的順序儲存的. 而hash表不是連續的. 所以不能進行切片工作.

它只能通過key來獲取dict中的資料

二. 字典的增刪改查和其他相關操作

字典的增加主要有賦值增加.

dist = {}

dist["第乙個"] = "字典"

如果第二個賦值的話,key仍然是這個值,那麼會做出修改操作.

如果不想實現修改操作的話,那麼需要使用這個方法

dist.setdefault("第二個")
dist ={}

dist.setdefault(

"第二個

")

dist.setdefault(

"第二個

","字典

") #

這裡注意,雖然key是相同的的,但value並不會修改.但是要了解,只有這個方法不會修改,如果是賦值,還是會修改

print(dist)

刪除

字典的刪除主要有四種方法  dist.pop(),dist.clear(),dist.popitem(),del dist["key"]

這裡面要注意兩個,

乙個是pop()刪除時,會返回刪除的內容.

另乙個popitem()會刪除乙個隨機k,v ,然後返回乙個元組.

示例:

dic = 

p = dic.pop("id") # pop()中需要傳入key

print(p)

print(dic)

del dic["age"] #直接del刪除某個索引的內容

print(dic)

dic.clear() #清空字典

print(dic)

dic =

dic.popitem() #隨機刪除一組key和value,返回的是刪除的key和value,並且是元組形式

print(dic)

當dist.popitem()返回元組時,可以看一下解構這個概念.

解構

a,b = (1,2)

print(a)  #等於1

print(b) #等於2

同樣的對於列表和字串同樣生效

a,b = [1,2]

print(a)  #等於1

print(b) #等於2

這裡有個示例:

k,v = dict.popitem()

print(k,v)  #列印出隨機刪除的k,v

dic.update(dic2) #也就是把dic2字典的內容更新到dic裡面,如果key值一樣進行修改,沒有就是增加.dic2並不會發生變化

示例:

dic = 

dic1 =

dic.update(dic1)

print(dic)

查的話一般有兩種方法乙個是通過類似索引key來查詢,另一種是通過dic.get("key")來查

兩者的區別就是如果通過索引來查的話,沒有會報錯.通過dic.get("key")來查如果沒有的話會返回none,以及可以設定如果沒有返回預設值

dic.get("key","預設值")

示例如下:

dic = 

p = dic["

id"] #

正常的話是可以查出值的.

print

(p)#

w = dic["我"]

#pirnt(w) #這樣會報錯.

#通過這樣查就沒有這個問題的.並返回的是none

w = dic.get("我"

)print

(w)#

也可以在沒找到值的情況下返回預設的值 的

x = dic.get("

我","

hehe")

print(x)

其他相關操作

相關操作包括,dist.keys,dist.values(),dist.items()

dist.keys()  相當於獲取所有的key放在乙個列表中,配合解構在迴圈中呼叫

dist.values()  相當於獲取所有的value放在乙個列表中,配合解構在迴圈中呼叫

dist.items()  相當於獲取所有的key/value,最後獲取到的是列表,每個key和value是乙個元組

示例:

dic = 

for w in dic.keys(): #迴圈打出所有的key

print(w)

for w in dic.values(): # 迴圈打出所有的value

print(w)

for k,v in dic.items():# 迴圈打出所有的key和value值

print(k,v)

二,迴圈的巢狀

這個巢狀和之前的列表巢狀很相似,只要按照邏輯一層一層下去就好了.

示例:

"""

1,將name對應的列表追加乙個元素』wusir』。

2,將name對應的列表中的alex首字母大寫。

3,oldboy對應的字典加乙個鍵值對』老男孩』,』linux』。

4,將oldboy對應的字典中的alex對應的列表中的python2刪除。

"""dic1.get(

"name

wusir")

print

(dic1)

dic1.get(

"name

")[0] = dic1.get("

name

")[0].capitalize()

print

(dic1)

dic1.get(

"oldboy

")["

老男孩"] = "

linux

"print

(dic1)

dic1.get(

"oldboy

").get("

alex

").remove("

python2")

print(dic1)

python 資料型別(字典型別)

字典型別 dict 作用是 記錄多個 key value 值,優勢是每乙個值 value 都有其對應關係 對映關係 key,而 key對 value 有描述性的功能 定義 1 基本使用 dict 用途 記錄多個值,每乙個值對應的 key 用來描述 value 的作用 在 內用逗號分隔開多個 key ...

Python資料型別 字典

字典 字典是無序的,它不能通過偏移來訪問,只能通過鍵來訪問。字典 key 類似我們現實的鑰匙,而value則是鎖。乙個鑰匙開乙個鎖 特點 內部沒有順序,通過鍵來讀取內容,可巢狀,方便我們組織多種資料結構,並且可以原地修改裡面的內容,屬於可變型別。組成字典的鍵必須是不可變的資料型別,比如,數字,字串,...

python資料型別 字典

python資料型別 字典 字典是python中惟一的對映型別 雜湊表 字典物件時可變的,但是字典的鍵必須使用不可變物件,並且乙個字典中可以使用不同型別的鍵值 keys 或者values 返回鍵列表或者列表 items 返回包含鍵值對的元組 建立字典 dic 取值 dic name dic age ...