Python基础学习系列:
一种映射(mapping),存储对象的容器
字典的存储结构为 键值对(key:value)
一个字典有多个键值对,一个键值对 称为 项
字典的 值 可以是 任意对象
字典的 键 是任意 不可变对象 (int,str,bool,tuple)
键 不能重复,后插入的同名键会进行值替换
# 创建
d = {}
mapping结构: d = {key1:value1,key2:value2,...}
d = {'name':'xxx','x':1,'x':True} # {'name':'xxx'}
d = {1:"asd",2:12,3:23.6,4:True}
# {1: 'asd', 2: 12, 3: 23.6, 4: True}
d = {True:1,False:'a'}
# {True: 1, False: 'a'}
d = {True:True,False:123.2}
# {True: True, False: 123.2}
d = {(1,2):"asd",(2,3):123,(4,5):True}
# {(1, 2): 'asd', (2, 3): 123, (4, 5): True}
键都是字符串
d = {key1:value1,key2:value2,...}
dict(mapping,key1:value1,key2:value2,...)
dict(iterable,key1:value1,key2:value2,...)
# 1. d = {"key1":"4","key2":""}
d = dict(key1='4',key2='')
# 2. {'x': 1, 'y': 2, 'z': 3}
d = dict({'x':1,'y':2},z=3)
# 3. {'x': 5, 'y': 6, 'z': 3}
d = dict([('x',5),('y',6)],z=3)
# 3. zip() 创建可迭代对象
numbers3 = dict(dict(zip(['x', 'y', 'z'], [1, 2, 3])))
print('numbers3 =',numbers3)
检查字典中是否包含指定的键,返回
bool
in
和 not in
print('key_name' in d)
根据键获取值
dic_name[key_name]
print(d['age'])
通过 []
获取时,不存在键则抛出异常 KeyError
default
,默认为 None
在这里插入图片描述
返回字典中所有的
key
序列
返回字典所有的
value
序列
返回字典中所有的项
for k,v in d.items():
print(k,'=',v)
向字典中添加
key:value
如果字典中存在 key
,则返回 key
,不会替换
如果字典中不存在 key
,则添加,并设置值为 default
将字典中的
key:value
添加到当前字典中
随机删除字典中的键值对,一般为最后一个
根据
key
删除字典中的键值对
将被删除的 value
删除
删除不存在的键值对,抛出异常
指定默认值,再删除不存在的 key
,则直接返回默认值
清空字典
对字典进行浅复制
赋值(浅拷贝):引用对象
dic,copy()(浅拷贝):深拷贝父对象,引用子对象