亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Python > 正文

Python中的字典類型:創建、訪問、修改、刪除與相關函數

2023-04-26 12:04:36
字體:
來源:轉載
供稿:網友

Python中的字典類型是有鍵值對(key:value)構成的一種類型。Python字典可以存儲任何數據類型的數據。

一、Python字典概述

(1)Python字典是一種鍵-值對數據類型,一旦定義,其鍵不可以修改,但值可以修改;

(2)Python字典中的鍵是唯一的,即一個字典中不允許有相同的鍵;

(3)Python字典是一種無序的鍵-值集合,即像集合那樣,不能使用位置索引來訪問或修改字典中的鍵-值;

(4)Python字典的鍵值放在一對花括號{}中,每個鍵值使用英文半角的逗號進行分隔;

(5)既然Python字典的鍵是不可變的,那么就可以使用字符串、數字、元組來作為字典的鍵;

(6)Python中的值可以為任何類型,也可以是None.

二、定義字典

字典的基本語法形式如下:

d = { key1 : value1, key2 : value2 }

下面舉例子來說明:

>>> price = { "蘋果" : 8.9, "櫻桃" : 19.78, "桔子" : 6.5}
>>> print(price)
{'蘋果': 8.9, '櫻桃': 19.78, '桔子': 6.5}
>>> 

我們也可以使用字典構造函數 dict() 來創建一個字典。

>>> dic1 = dict( name = '武林網', age = 12, type ='互聯網')
>>> print(dic1)
{'name': '武林網', 'age': 12, 'type': '互聯網'}
>>> dic2 = dict([('name', '武林網'), ('age', 12), ('type', '互聯網')])
>>> print(dic2)
{'name': '武林網', 'age': 12, 'type': '互聯網'}
>>> dic3 = dict({'name' : '武林網', 'age' : 12, 'type' : '互聯網'})
>>> print(dic3)
{'name': '武林網', 'age': 12, 'type': '互聯網'}
>>> 

以上在Python3.8.2中運行的情況如下圖所示:

二、訪問字典中的值

我們可以使用 字典名[鍵名] 的方式來訪問字典中的值。

>>> dic1= {'nickname' : 'xiangyuting', 'account' : 'VeVb', 'regdate' : '2008-08-20'}
>>> dic1['nickname']
'xiangyuting'
>>> dic1['regdate']
'2008-08-20'
>>> 

如果企圖訪問不存在的鍵將會引發錯誤:

>>> dic = { '1' : 'a', '2' : 'b', '3' : 'c'}
>>> print(dic['4'])
Traceback (most recent call last):
    File "<pyshell#17>", line 1, in <module>
        print(dic['4'])
KeyError: '4'

>>> 

以上例子中可以看出,企圖訪問的鍵 '4' 在字典dic中不存在,引發 KeyError 錯誤,即訪問的鍵不存在。

三、修改字典

我們可以使用 字典名[鍵名] 的方式來修改某一個鍵值對的值,也可以為字典新增鍵值對。

在實際操作中,如果鍵名在字典中存在,則修改其值,如果字典中不存在該鍵名,則執行新增操作,如下例所示。

fruits = {1 : '蘋果', 2 : '梨', 3 : '荔枝'}
print('原字典:' , fruits)
fruits[4] = '西瓜'
print('更新后:', fruits)
fruits[3] = '葡萄'
print('再次更新后:', fruits)

執行結果

原字典: {1: '蘋果', 2: '梨', 3: '荔枝'}
更新后: {1: '蘋果', 2: '梨', 3: '荔枝', 4: '西瓜'}
再次更新后: {1: '蘋果', 2: '梨', 3: '葡萄', 4: '西瓜'}

四、刪除字典中的值

在Python中可以使用del關鍵字刪除字典中的一個值或刪除字典的定義,也可以使用clear函數清空字典中的值。

>>> word = { 'a' : "apple", 'b' : ' banana', 'c' : 'cherry'}
>>> print(word)
{'a': 'apple', 'b': ' banana', 'c': 'cherry'}
>>> del word['b'# 刪除一個值
>>> print(word)
{'a': 'apple', 'c': 'cherry'}
>>> word.clear()  # 清空字典中的值
>>> print(word)
{}
>>> del word  # 刪除 word 的定義
>>> print(word) # 將引發 NameError錯誤
raceback (most recent call last):
    File "<pyshell#28>", line 1, in <module>
        print(word)
NameError: name 'word' is not defined

>>> 

五、循環迭代字典

我們可以使用for循環迭代訪問或處理字典中的值。

1、使用items()方法返回字典的鍵-值對

word = { 'a' : "apple", 'b' : 'banana', 'c' : 'cherry'}
for k, v  in word.items():
    print(f'{k} = {v}')

輸出結果

a = apple
b = banana
c = cherry

2、循環迭代字典中的鍵

word = { 'a' : "apple", 'b' : 'banana', 'c' : 'cherry'}
for k in word:
    print(f'{k} = {word[k]}')

輸出結果

a = apple
b = banana
c = cherry

3、使用values()方法循環迭代字典中的值

word = { 'a' : "apple", 'b' : 'banana', 'c' : 'cherry'}
for v in word.values():
    print(v)

輸出結果

apple
banana
cherry

六、in 或 not in 在字典中的運用

可以使用 innot in 檢測一個字典中是否存在某個鍵。

word = { 'a' : "apple", 'b' : 'banana', 'c' : 'cherry'}
print('c' in word)
print('d' not in word)
print('a' not in word)

輸出結果

True
True
False

七、字典操作的一些函數

1、len()函數求字典中值的個數

>>> word = { 'a' : "apple", 'b' : 'banana', 'c' : 'cherry'}
>>> print(len(word))
3
>>> 

2、values() 函數

該函數返回字典中“鍵-值”中的所有值,然后可以使用迭代對值進行相關的處理。

nums = {'num1' : 12, 'num2' : 45, 'num3' : 9}
values = nums.values()
sum = 0
for v in values:
    sum += v
print(f'sum = {sum}')

輸出結果:

sum = 66

3、items() 函數

items()函數可以獲取到字典中的所有鍵值對,并可以使用循環迭代進行處理。

見本文上面五、1中的例子。

4、pop(key[, default])函數

該函數從字典中刪除指定 key 項,并返回其對應的值,如果字典中不存在key鍵,則返回default指定的值,如果key不存在,且未指定default的話,該函數將引發 KeyError 錯誤。

nums = {'num1' : 12, 'num2' : 45, 'num3' : 9}
v1 = nums.pop('num1')
print(f'v1={v1},移除后nums = {nums}')
v2 = nums.pop('num1', 'NA')
print(f'v2={v2},nums={nums}')

輸出結果:

v1=12,移除后nums = {'num2': 45, 'num3': 9}
v2=NA,nums={'num2': 45, 'num3': 9}

5、dict.fromkeys(seq[, val])

該函數使用seq給出的序列值為鍵,創建一個字典,字典中每個鍵對應的值由參數val給出,如果未提供 val 參數,則默認為 None.

dic1 = dict.fromkeys((1, 2, 3), 'a')
print(dic1)
dic2 = dict.fromkeys(['1', '2', '3'])
print(dic2)
dic3 = dict.fromkeys({'1', '2', '3'}, 'NA')
print(dic3)

輸出結果:

1: 'a', 2: 'a', 3: 'a'}
{'1': None, '2': None, '3': None}
{'3': 'NA', '1': 'NA', '2': 'NA'}

6、get(key[, default])

該函數將返回指定 key 所對應的值,如果字典中不包含 key ,則返回可選參數default給定的值,如果字典中不含 key,且未給定default參數時,函數直接返回None.

dic1 = {'a' : 'apple', 'b' : 'banana', 'c' : 'cherry', 'd' : 'durian'}
fr = dic1.get('a')
print(fr)
fr = dic1.get('e', 'NA')
print(fr)
fr = dic1.get('f')
print(fr)

運行結果:

apple
NA
None

7、keys()

該函數返回字典中所有鍵的集合。

dic1 = {'a' : 'apple', 'b' : 'banana', 'c' : 'cherry', 'd' : 'durian'}
keys = dic1.keys()
print(keys)
for k in keys:
    print(f'{k} : {dic1[k]}')

輸出結果:

dict_keys(['a', 'b', 'c', 'd'])
a : apple
b : banana
c : cherry
d : durian

8、popitem()

該函數每次執行以元組的形式返回一個鍵值對的值,并將該值在原字典中移除。

dic1 = {'a' : 'apple', 'b' : 'banana', 'c' : 'cherry', 'd' : 'durian'}
while len(dic1) > 0:
    item = dic1.popitem()
    print(item)

輸出結果:

('d', 'durian')
('c', 'cherry')
('b', 'banana')
('a', 'apple')

9、setdefault(key[, default])

該函數用于向列表中增加一個值,增加值的鍵是函數參數指定的 key,如果指定了參數default,則新增項的值為default,否則為None,函數同時會返回該鍵值所對應的值。如果原字典中已存在鍵為 key 的項,則該函數僅返回該鍵值所對應的值。

dic1 = {'a' : 'apple', 'b' : 'banana', 'c' : 'cherry'}
v = dic1.setdefault('p', 'pear')
print("dic1=", dic1, ",v=", v)
v = dic1.setdefault('g')
print("dic1=", dic1, ",v=", v)
v = dic1.setdefault('a')
print("dic1=", dic1, ",v=", v)

運行結果:

dic1= {'a': 'apple', 'b': 'banana', 'c': 'cherry', 'p': 'pear'} ,v= pear
dic1= {'a': 'apple', 'b': 'banana', 'c': 'cherry', 'p': 'pear', 'g': None} ,v= None
dic1= {'a': 'apple', 'b': 'banana', 'c': 'cherry', 'p': 'pear', 'g': None} ,v= apple

10、update(dict)

該函數使用給定的字典參數dict來更新一個字典。如果原字典中存在dict中對應的鍵,就使用dict中的值來修改它,否則就在原字典中新增一項。

dic1 = {'a' : 'apple', 'b' : 'banana', 'c' : 'cherry'}
print(dic1)
dic1.update({'a' : 'apricot', 'm' : 'mango'})
print(dic1)

輸出結果:

{'a': 'apple', 'b': 'banana', 'c': 'cherry'}
{'a': 'apricot', 'b': 'banana', 'c': 'cherry', 'm': 'mango'}

Python字典類型使用教程

以上是關于Python字典中的所有內容,如對內容有疑問請留言評論。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美另类69精品久久久久9999| 日韩欧美国产网站| 久久九九精品99国产精品| 国产亚洲福利一区| 亚洲国产精品成人精品| 色吧影院999| 国产女同一区二区| 免费91在线视频| 成人h猎奇视频网站| 日韩中文字幕不卡视频| 在线一区二区日韩| 国产精品69久久久久| 日韩av免费观影| 国产精品成人aaaaa网站| 亚洲精品国产拍免费91在线| 国产亚洲日本欧美韩国| 日韩精品欧美激情| 国产精品高潮呻吟久久av黑人| 九九精品视频在线| 欧美午夜久久久| 在线观看欧美www| 在线视频国产日韩| 精品欧美激情精品一区| 中文日韩在线视频| 精品国产网站地址| 这里只有精品在线观看| 97在线免费观看视频| 欧美极品少妇xxxxⅹ免费视频| 亚洲美女中文字幕| 欧美日韩国产综合视频在线观看中文| 日本欧美在线视频| 日韩亚洲第一页| 国产精品久久在线观看| 久久躁日日躁aaaaxxxx| 亚洲人成在线观| 国内精品小视频在线观看| 亚洲国产精品成人va在线观看| 国产精品一区二区久久精品| 98精品国产自产在线观看| 国内精品免费午夜毛片| 亚洲国产精品免费| 久久精品国产69国产精品亚洲| 国产精品久久久久久av福利软件| 热99精品只有里视频精品| 亚洲色图美腿丝袜| 久久久综合av| 国产亚洲一区二区精品| 国产精品高潮呻吟久久av野狼| 日本a级片电影一区二区| 亚洲美女视频网站| 亚洲欧美一区二区精品久久久| 精品亚洲国产成av人片传媒| 久久天堂av综合合色| 97视频免费在线观看| 成人网中文字幕| 亚洲a成v人在线观看| 欧美日韩性生活视频| 日韩国产精品亚洲а∨天堂免| 国产精品久久不能| 日韩精品极品毛片系列视频| 国产欧美日韩免费看aⅴ视频| 在线视频一区二区| 97在线视频免费看| 精品视频在线播放| 亚洲第一级黄色片| 欧美尺度大的性做爰视频| 久精品免费视频| 国产91成人在在线播放| 国产亚洲精品久久久久久777| 97视频国产在线| 国产亚洲视频中文字幕视频| 亚洲免费电影一区| 亚洲高清福利视频| 国产日本欧美在线观看| 欧美老女人性视频| 欧洲日本亚洲国产区| 97国产精品视频人人做人人爱| 亚洲日韩第一页| 91国内产香蕉| 欧美在线日韩在线| 69国产精品成人在线播放| 欧美日韩国产在线播放| 91久久在线播放| 日韩精品在线免费播放| 欧美日韩美女视频| 亚洲精品在线不卡| 国产精品自拍视频| 欧美视频在线观看 亚洲欧| 亚洲美女av在线播放| 亚洲精品自产拍| 欧美高清激情视频| 久久精品电影一区二区| 国产精品免费看久久久香蕉| 在线看日韩欧美| 国产亚洲在线播放| 91精品国产91久久久久久久久| 国产日韩欧美自拍| 国产精品视频不卡| 国产精品一区久久久| 久久久久久久久久久国产| 久久久视频免费观看| 久久久爽爽爽美女图片| 国产精品视频白浆免费视频| 国产不卡精品视男人的天堂| 欧美黑人xxxⅹ高潮交| 国产精品白嫩美女在线观看| 欧美视频在线看| 亚洲成人网在线观看| 中文在线资源观看视频网站免费不卡| 亚洲国产精彩中文乱码av| 2019国产精品自在线拍国产不卡| 中文字幕在线观看日韩| 国产极品jizzhd欧美| 欧日韩不卡在线视频| 亚洲白拍色综合图区| 亚洲精品免费一区二区三区| 黄色91在线观看| 欧美一级淫片aaaaaaa视频| 精品国产精品自拍| 日韩精品视频免费| 九色91av视频| 91高清视频免费| 中文字幕亚洲欧美一区二区三区| 亚洲欧美制服第一页| 国产精品亚洲片夜色在线| 色www亚洲国产张柏芝| 国产精品一区久久| 亚洲国产成人在线视频| 91精品国产91久久久久久不卡| 国产精品久久激情| 久久久欧美一区二区| 久久影院中文字幕| 国产精品亚洲网站| 日韩三级影视基地| 成人午夜在线观看| 97精品国产97久久久久久春色| 欧美精品在线视频观看| 亚洲欧美国内爽妇网| 亚洲欧美自拍一区| 97视频免费在线看| 一区二区三区www| 国产精品丝袜久久久久久高清| 一区二区三区国产在线观看| 精品国内产的精品视频在线观看| 久久99热精品这里久久精品| 91久久久久久久一区二区| 久久国产精品久久久| 国产精品成人va在线观看| 中文字幕在线成人| 国产69精品久久久久99| 亚洲国产精彩中文乱码av在线播放| 国产成人免费av| 日韩高清电影好看的电视剧电影| 成人免费视频a| 亚洲精品成a人在线观看| 国产日韩欧美在线观看| 国产精品欧美久久久| 91精品国产综合久久香蕉| 97免费视频在线| 亚洲黄色在线观看| 日本精品久久久久影院| 国产色视频一区| 最新国产精品亚洲| 91大神在线播放精品|