天天看點

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