Python中的dict字典詳解


# ========================字典(dict)基本方法===========================
# 用途:
# 定義方式:通過大括號來存儲數據,通過key:value來定義鍵值對數據,每個鍵值對中間通過逗號分隔

# key:一定是一個不可變類型
# value:可以是任意類型

 

定義方式

定義:在{}內用各元素用逗號隔開,每個元素都是 key:value的形式,其中value可以是任意類型, 而key必須是不可變類型。一般而言,key是str類型,因為字符串類型可以對value有描述性功能

my_dict = {'name': 'yyh', 'age': 18, 'sex': 'male'}
# 等價於
my_dict = dict({'name': 'yyh', 'age': 18, 'sex': 'male'})

類型轉換

# 轉換1:
my_dict = dict([['name', 'yyh'], ('age', 18)]) print(my_dict) >>>{'name': 'yyh', 'age': 18}
# 轉換2:
my_dict = {}.fromkeys(('name','age','sex'),None) print(my_dict)

>>>{'name': None, 'age': None, 'sex': None}
# fromkeys()將元組內的值分別取出作為Key與None(第二個參數)形成配對
# dict + zip生成字典
my_dict = dict(zip(['k1', 'k2', 'k3'], [1, 2, 3]))
print(my_dict)

 

操作

# 1.取值
print(my_dict['name'])
print(my_dict['hobbies'][0])
# 賦值 ps:如果鍵已存在,則會改變對應的值
my_dict['sex'] = 'male'
my_dict['age'] = 20
print(my_dict)
# 2.長度
print(len(my_dict))

# 3.in 和 not in 判斷某個值是否為dict的key
print('name' in my_dict)

# 4.刪除 pop()刪除指定的key及對應的value,並返回value的值
print(my_dict.pop('name'))
# 5.keys(),values()和items()
print(my_dict.keys())       # 返回所有的key
print(my_dict.values())     # 返回所有的value
print(my_dict.items())      # 返回所有的鍵值對
# 6.for循環遍歷
for key in my_dict:     # 默認遍歷為key
    print(key)

for key in my_dict.keys():
    print(key)

for value in my_dict.values():      # 遍歷value
    print(value)

for key,value in my_dict.items():       # 遍歷鍵值對
    print(key,':',value,sep='')

 

# 7.get()
print(my_dict.get('name'))     # 返回對應的value
print(my_dict.get('aaa',200))       # 如果不存在指定的key,默認返回None,第二個參數可設置返回值(200)

# 8.pop()
print(my_dict.pop('name'))    # 刪除指定的key和value,並返回value

# 9.popitem()
print(my_dict.popitem())      # 隨機刪除一對鍵值,將被刪除的key和value在元組內返回

 

# 10.update()  # 用新字典更新舊字典,有則更改,無則添加(只增不減)
my_dict = {
    'name': 'yyh',
    'age': 19,
    'hobbies': ['basketball', 'running']
}
my_dict.update({'sex': 'male'})
print(my_dict)

>>>{'name': 'yyh', 'age': 19, 'hobbies': ['basketball', 'running'], 'sex': 'male'}

 

# 11.fromkeys()
print(my_dict)
my_dict = {}.fromkeys(['k1','k2','k3'],[])
print(my_dict)
>>>

{'name': 'yyh', 'age': 19, 'hobbies': ['basketball', 'running']}
{'k1': [], 'k2': [], 'k3': []}

 

# 12.setdefault()
my_dict = {
    'name': 'yyh',
    'age': 19,
    'hobbies': ['basketball', 'running']
}
res = my_dict.setdefault('name','jxx')      # 如果鍵已存在,值不會發生改變
print(res)                                  # 輸出為 yyh
res = my_dict.setdefault('sex','male')      # 如果鍵不存在,會新增
print(res)
print(my_dict)

 

# =========================類型總結==========================
# 有序or無序  : 無序
# 可變or不可變  :可變類型
# 存一個值or存多個值 : 存多個值

 


免責聲明!

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



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