天天看点

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