Python學習筆記之字典

字典簡介

字典(dict) 是Python中的基本數據類型之一,是可變的無序集合,以鍵值對爲基本元素的可以存儲各種數據類型的集合,用 {} 表示字典的開始和結束,元素之間用 , 逗號分隔,和json數據類似。字典中的元素由鍵(key)和值(value)組成,中間用冒號做分隔。注意,字典中的鍵是不可變類型。
以下是一個典型的字典:

>>> d = {}                   # 空字典
>>> d = {
	'name':'xiaoming',
	'age' : 18,
	'gender': 1,
}
>>> len(d)                   # 字典的長度
3

字典基本操作

字典常用操作方法

方法 描述
keys 以列表形式返回字典中所有鍵
values 以列表形式返回字典中所有值
clear 清空字典中所有的元素
copy 淺複製生成另外一個字典
get 根據指定的鍵,返回對應的值,如果不存在,返回None
items 以元組數組的形式返回字典中的元素
pop 刪除指定鍵的元素,返回對應的值
popitem 隨機返回元素,並刪除元素
setdefault 設置默認鍵值對,如果鍵存在,返回對應的值
update 用一個字典更新另外一個字典

字典元素增加&刪除

>>> d = {}                                   # 聲明一個空字典
>>> d['name'] = 'xiaoming'                   # 字典d添加元素
>>> d['age'] = 18
>>> d['gender'] = 1
>>> d
{'name': 'xiaoming', 'age': 18, 'gender': 1}
>>> d.setdefault('name','test')             # 使用setdefault添加元素,如果鍵已存在,返回對應的值 
'xiaoming'
>>> d
{'name': 'xiaoming', 'age': 18, 'gender': 1}
>>> d.setdefault('learning','english')      # 使用setdefault添加元素,如果鍵不存在,返回設置的默認值,字典元素增加 
'english'
>>> d
{'name': 'xiaoming', 'age': 18, 'gender': 1, 'learning': 'english'}
>>> d = {}
>>> d['name'] = 'xiaoming'
>>> d['age'] = 18
>>> d.pop('name')                       # 使用pop刪除以name爲key的元素
'xiaoming'
>>> d
{'age': 18}
>>> d.pop('name')                       # 使用pop刪除的key不存在時,拋出KeyError
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    d.pop('name')
KeyError: 'name'
>>> d = {'name':'xiaoming','age':18}
>>> d.clear()                           # 使用clear方法清空字典
>>> d
{}
>>> d = {'name':'xiaoming','age':18}
>>> d.popitem()                        # 使用popitem方法隨機刪除一個元素
('age', 18)
>>> d
{'name': 'xiaoming'}

字典元素查找

'''
字典名+key查找
'''
>>> d = {'name':'xiaoming','age':18}
>>> d['name']
'xiaoming'

'''
get方法查找
'''
>>> d = {'name':'xiaoming','age':18}
>>> d.get('name')               # 如果key存在,返回對應的值 
'xiaoming'
>>> d.get('gender')             # 如果key不存在,返回None
>>> 

字典複製&值修改

>>> d1 = {'name':'xiaoming','age':18,'gender':1}
>>> id(d1)
45403736
>>> d2 = d1.copy()               # 使用 copy淺複製字典
>>> d2
{'name': 'xiaoming', 'age': 18, 'gender': 1}
>>> id(d2)
49600768
'''
賦值修改鍵對應的值
'''
>>> d1 = {'name':'xiaoming','age':18,'gender':1}
>>> d1
{'name': 'xiaoming', 'age': 18, 'gender': 1}
>>> d1['name'] = 'wang'                  # 修改name鍵對應的值
>>> d1
{'name': 'wang', 'age': 18, 'gender': 1}

'''
使用update修改鍵對應的值,update也可以增加元素
'''
>>> d1 = {'name':'xiaoming','age':18,'gender':1}
>>> d1.update({'name':'wang'})           # 如果key存在,使用update方法更新d1中的元素 
>>> d1
{'name': 'wang', 'age': 18, 'gender': 1}

>>> d1 = {'name':'xiaoming','age':18,'gender':1}
>>> d1.update({'learning':'english'})    # 如果key不存在,增加新的元素
>>> d1
{'name': 'wang', 'age': 18, 'gender': 1, 'learning': 'english'}

字典遍歷

>>> d1 = {'name':'xiaoming','age':18,'gender':1}
>>> for key in d1.keys():                  # 打印字典中所有的key
	print(key)
name
age
gender
>>> for value in d1.values():              # 打印字典中所有的value
	print(value)
xiaoming
18
1
>>> for k,v in d1.items():                 # 打印字典中所有的元素
	print(k,v)
name xiaoming
age 18
gender 1
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章