python基礎一_05_字典
導讀:
本文主要記錄自己學習python3基礎中字典的要點知識和例子;僅供自己梳理。
一、字典的定義
字典是一個無序的,可以修改的,元素呈鍵值對形式,以逗號分割的,以大括號包圍的數據類型;{‘key’:‘value’}
當列表下標很多,查找數據不方便時,我們可以使用字典。字典是Python基礎數據類型當中唯一一個映射關係的數據類型;由於字典無序,所以我們定義字典和字典生成之後的元素的順序是不同的;
1.定義一個字典
字典的每個元素由2部分組成,鍵:值。例如 ‘name’:‘爺的心情’ ,'name’爲鍵,'爺的心情’爲值,字典由鍵值組成
info = {'name':'ydxqbjl','age':'18','addr':'beijing'}
print(info)
#### 基本屬性獲取:key,value,item
print(info.keys())
print(info.values())
print(info.items())
2.通過鍵名或get方法訪問
注意:get方法如果沒有找到相應的值,就會輸出None,後面也可以帶默認的值,生產環境常用。
info = {'name':'ydxqbjl','age':'18','addr':'beijing'}
print(type(info))
#
print(info['name'])
# get()
print(info.get('name'))
3.字典的添加和修改
# 定義
info = {'name':'ydxqbjl','age':'18','addr':'beijing'}
print(info)
# 添加
info['company'] = 'kingsoft'
print(info)
# 修改
info['company'] = 'xiaomi'
print(info)
# 刪除
del info['company']
print(info)
二、字典的常見操作
1.字典的取值
info = {'name':'ydxqbjl','age':'18','addr':'beijing'}
keys:返回一個包含字典所有key的列表
print(info.keys())
values:返回一個包含字典所有vaule的列表
print(info.values())
get:以鍵取值,如果指定鍵不存在,默認返回None,可以指定返回內容
print(info.get('like'))
setdefault:設置默認,如果鍵存在,返回值,如果鍵不存在,創造鍵,值默認爲None,值也可以自定義setdefault(key,default=None)
print(info.setdefault('play','666'))
print(info)
update:以字典格式更新指定鍵的內容,如果鍵不存在,創建鍵和值
info.update({'car':'普拉多'})
print(info)
items:返回字典鍵值呈元組形式的格式
# 返回字典鍵值呈元組形式的格式
print(info.items())
# 測量字典,鍵值對的個數(整體)
len(info)
2.字典的刪除
info = {'name':'ydxqbjl','age':'18','addr':'beijing'}
pop:彈出,返回並刪除指定鍵對應的值
info = {'name':'ydxqbjl','age':'18','addr':'beijing'}
info.pop('age')
print(info)
popitem:隨機彈出一個鍵值元組,這裏隨機的原因是因爲字典無序
info = {'name':'ydxqbjl','age':'18','addr':'beijing'}
info.popitem()
print(info)
clear:清空字典
info = {'name':'ydxqbjl','age':'18','addr':'beijing'}
info.clear()
print(info)
{}
3.字典的判斷
in:判斷指定的鍵是否在字典當中
info = {'name':'ydxqbjl','age':'18','addr':'beijing'}
print('addr' in info)
print('company' in info)
4.字典的遍歷
for …in …:通過for … in …:的語法結構,我們可以遍歷字符串、列表、元組、字典等數據結構
info = {'name':'ydxqbjl','age':'18','addr':'beijing'}
for k in info:
print(k)
for v in info.values():
print(v)
5.字典的內置方法
len:
info = {'name':'ydxqbjl','age':'18','addr':'beijing'}
len(info)