Python基本序列-字典


Python 基本序列-字典

字典(dict)是"鍵-值 對"的無序可變序列,字典中的每個元素包含兩部分,"鍵"和"值"。

字典中的"鍵"可以是Python中任意不可變的數據,但不能使用列表集合字典作為鍵,因為這些對象是可變的。

字典中的鍵不允許重復。

 

字典作為序列的一種,同樣具有以下幾個用法

  • key in dict:檢查dict中是否包含為k的項

 

  • len(d):返回d(字典對象)中項的數量;

但是也有些許不同

  • 字典鍵的類型更豐富(任何不可變數據)
  • 修改key對應的value,若key不存在,則直接創建
  • key in dict 是根據“鍵”來判斷是否在字典中,而不是值,也不是鍵值對

 

字典的創建:

1.直接創建

t = { "a" : 1, "b": 2 }

2.利用dict函數創建

# 第一種形式
d = dict (name = "dong", age = 37) # 注意這個地方鍵的字符串類型沒加引號
print(d)
# 輸出 {'age':37,'name':'dong'}

# 第二種形式 搭配zip函數 將列表生成的元祖打包成字典
keys = ['a' , 'b' , 'c']
values = [1 , 2 , 3]
tuple_t = zip(keys, values)
print(tuple_t)
# 輸出 (['a' , 'b' , 'c'], [1 , 2 , 3])
d = dict (tuple_t)
print(d)
# 輸出 {'a' : 1 , 'b' : 2 , 'c' : 3}

 字典的讀取:

1.直接讀取

 

dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
print(dict_t[a])
# 輸出 1

 

 

這種訪問方式比較直接,但是不安全。如果指定的"鍵"不存在,則會拋出異常

2.利用get()函數間接讀取

使用get()函數獲取指定“鍵”對應的值,並且在“鍵”不存在時返回指定值,如果沒有指定值,則默認返回None

dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
print(dict_t.get('a'))
# 輸出 1
print(dict_t.get('d'))
# 輸出 None
print(dict_t.get('d', 'NOT FOUND'))
# 輸出 'NOT FOUND'

 

3.利用items()方法返回一個字典的“鍵-值 對”列表(iteritems返回一個迭代器對象)

dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
for i in dict_t.items():
    print(i)
# 輸出 ('a', 1)
#      ('b', 2)
#      ('c', 3)

 

同樣,也可以利用keys(),values()分別返回兩個鍵和值的列表進行訪問(iterkeys() , itervalues()都返回一個迭代器對象,而不是列表)

4.利用pop()返回並刪除一個指定"鍵"元素

dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
t = dict_t.pop('c')
# 輸出 3
print(t)
# 輸出 {'a': 1, 'b': 2}
print(dict_t)

 

5.利用popitem()隨機返回並刪除一個元素

字典元素的修改與刪除:

1.直接根據"鍵"來修改,若字典中該"鍵"不存在,則創建一個新的"鍵-值 對"

 

dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
print(dict_t)
dict_t['d']=4
print(dict_t)
# 輸出 {'a': 1, 'b': 2, 'c': 3, 'd': 4}

 

 

2.利用update(dict),將另一個字典的"鍵-值 對"一次性加到當前字典對象

dict_t = {'a' : 1 , 'b' : 2 , 'c' : 3}
t = {'d':4}
dict_t.update(t)
print(dict_t)
# 輸出 {'a': 1, 'b': 2, 'c': 3, 'd': 4}

 

3.利用del()刪除一個指定"鍵"元素

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM