文章目录
- 字典简介
- 字典基本操作
-
- 字典元素增加&删除
- 字典元素查找
- 字典复制&值修改
- 字典遍历
字典简介
字典(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