文章目錄
- 字典簡介
- 字典基本操作
-
- 字典元素增加&删除
- 字典元素查找
- 字典複制&值修改
- 字典周遊
字典簡介
字典(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