徹底搞懂Python字典

2021-10-04 01:27:38 字數 2726 閱讀 3526

使用賦值運算子「=」將乙個字典賦值給乙個變數即可建立乙個字典變數。

>>

> adict =

也可以使用內建類dict以不同形式建立字典。

>>

> x =

dict()

#空字典

>>

>

type

(x)#檢視物件型別

<

class

'dict'

>

>>

> x =

#空字典

>>

> keys =

['a'

,'b'

,'c'

,'d'

]>>

> values =[1

,2,3

,4]>>

> dictionary =

dict

(zip

(keys, values)

)#根據已有資料建立字典

>>

> d =

dict

(name=

'dong'

, age=39)

#以關鍵引數的形式建立字典

>>

> adict =

dict

.fromkeys(

['name'

,'age'

,'***'])

#以給定內容為「鍵」,建立「值」為空的字典

>>

> adict

>>

> adict =

>>

> adict[

'age'

]#指定的「鍵」存在,返回對應的「值」

39>>

> adict[

'address'

]#指定的「鍵」不存在,丟擲異常

keyerror:

'address'

>>

> adict.get(

'age'

)#如果字典中存在該「鍵」則返回對應的「值」

39>>

> adict.get(

'address'

,'not exists.'

)#指定的「鍵」不存在時返回指定的預設值

'not exists.'

1、新增

當以指定「鍵」為下標為字典元素賦值時,有兩種含義:

1)若該「鍵」存在,則表示修改該「鍵」對應的值;

2)若不存在,則表示新增乙個新的「鍵:值」對,也就是新增乙個新元素。

>>

> adict =

>>

> adict[

'age']=

39#修改元素值

>>

> adict

>>

> adict[

'address']=

'sdibt'

#新增新元素

>>

> adict

2.修改

使用字典物件的update()方法可以將另乙個字典的「鍵:值」一次性全部新增到當前字典物件,如果兩個字典中存在相同的「鍵」,則以另乙個字典中的「值」為準對當前字典進行更新。

>>

> adict =

>>

> adict.update(

)#修改』age』鍵的值,同時新增新元素』a』:97

>>

> adict

3.刪除
>>

>

del adict[

'age'

]#刪除字典元素

>>

> adict

>>

> adict =

>>

> adict.popitem(

)#彈出乙個元素,對空字典會丟擲異常

('age',37

)>>

> adict.pop(

'***'

)#彈出指定鍵對應的元素

'male'

>>

> adict

首先生成包含1000個隨機字元的字串,然後統計每個字元的出現次數。

import string

import random

x = string.ascii_letters + string.digits + string.punctuation #字元、數字、標點

y =[random.choice(x)

for i in

range

(1000)]

z =''

.join(y)

d =dict()

#使用字典儲存每個字元出現次數

徹底搞懂Python元組

x 1 2,3 直接把元組賦值給乙個變數 type x 使用type 函式檢視變數型別 class tuple x 空元組 x tuple 空元組 tuple range 5 將其他迭代物件轉換為元組 0 1,2 3,4 x 0 元組支援使用下標訪問特定位置的元素 1 x 1 最後乙個元素,元組也支...

徹底搞懂Python集合

四 序列解包 五 python集合應用案例 直接將集合賦值給變數即可建立乙個集合物件。a 建立集合物件使用函式set 函式將列表 元組 字串 range物件等其他可迭代物件轉換為集合,如果原來的資料中存在重複元素,則在轉換為集合的時候只保留乙個 如果原序列或迭代物件中有不可雜湊的值無法轉換成為集合,...

徹底搞懂px em rem

px畫素 pixel 相對長度單位。畫素px是相對於顯示器螢幕解析度而言的。px特點 em是相對長度單位。相對於當前物件內文字的字型尺寸。如當前對行內文字的字型尺寸未被人為設定,則相對於瀏覽器的預設字型尺寸。em特點 注意 任意瀏覽器的預設字型高都是16px。所有未經調整的瀏覽器都符合 1em 16...