@ python中的字典
python中的字典
字典的创建
#method 1: 创建空字典(初始化字典)
dict1={}
#method 2: 创建单元素字典
dict1[‘name’]=‘zhangsan’
print(dict1,type(dict1),len(dict1),dict1[‘name’],dict1.items())
#method 3: 创建单元素字典
dict1={‘name’:‘张三’}
#method 4: 创建单元素字典
dict1={‘name’:‘张三’,“李四”:9}
#method 5: 用函数dict()创建字典
dict1=dict(name=‘张三’,李四=9)
给字典添加元素
dict1={‘name1’:‘abc’,‘name2’:‘ced’}
dict1[‘name3’]=‘hellow’ #添加键值对’name3’:‘hellow’
dict1[‘name1’]=‘hel’ #修改键名’name1’的值为’hel’
dict1.setdefault(‘anem1’,‘abbb’) #键名不存在时,用setdefault()函数添加元素
dict1.setdefault(‘anem1’,123) #键名存在时,用setdefault()函数不修改,返回该键名值
print(dict1.setdefault(‘anem1’,123))
print(dict1)
给字典添加字典
dict1={‘name1’:‘abc’,‘name2’:‘ced’}
dict2={‘name3’:‘abc’,‘name2’:‘cd’}
dict1.update(dict2) #添加字典时,重复键名的元素被修改
print(dict1)
dd=dict1.update(dict2) #对对象的操作只改变对象本身,没有返回值,不能将其赋值给其他变量
print(dd)
用get()函数取值
dict1={‘name1’:‘abc’,‘name2’:‘ced’}
print(dict1.get(‘name1’)) #键名’name1’存在时,取出该键值
print(dict1.get(‘name3’)) #键名’name3’不存在时,返回默认值None
print(dict1.get(‘name1’,‘不存在’)) #键名’name1’存在时,取出该键值
print(dict1.get(‘name3’,‘不存在’)) #键名’name1’不存在时,返回第二参数
删除字典元素
dict1={‘name1’:‘abc’,‘name2’:‘ced’}
del dict1[‘name1’] #删除键名为’name1’的键值对,无返回值。不能用del dict1删除整个字典
dict1={‘name1’:‘abc’,‘name2’:‘ced’}
dict1.popitem() #删除最后的键值对
dd=dict1.pop(‘name1’) #删除键名为’name1’的键值对,并返回该值;若没有该键名时报错(添加第二参数)
print(dd)
dd=dict1.pop(‘name10’,’***’) #键名为’name10’的值不存在时,返回默认值None
print(dd)
dd=dict1.pop(‘name10’,‘该键名不存在’) #键名为’name10’的值不存在时,返回默认值None
print(dd)
dict2={“aa”:2,‘aaa’:‘ye’}
#dict2.clear() #清空字典
dict2={} #清空字典
print(dict2)
通用操作
dict1={‘name1’:‘abc’,‘name2’:‘ced’}#创建一个字典
print(type(dict1)) #>> <class ‘dict’> 字典类型
print(len(dict1)) #长度为2,即有两个元素>>2
print(min(dict1)) # 最小值>>name2
print(max(dict1)) #最大值>>name2
其他
dict1={} #创建一个空字典
dict1[‘name1’]=123 #向字典中添加第一项item
dict1[‘name2’]=23 #向字典中继续添加后一项
dict1[‘name1’]=321 #如果字典中没有键‘name1’,则继续添加;如果有则替换修改
dict1[‘name3’]=[‘ab’,‘cd’,6] #给字典添加/修改元素值(列表)
dict1[‘name4’]={‘ab’:6} #给字典添加/修改元素值(字典)
dict1[‘name5’]=(‘ab’,6) #给字典添加/修改元素值(元组)
dict1[‘name6’]=‘hello world!’ #给字典添加/修改元素值(字符串)
dict1[‘name7’]=dict([(‘name7’,‘abc’),(‘name88’,‘bc’)])#给字典添加/修改元素值(双值子序列字典)
dict1[‘name8’]=dict(name7=‘abc’,name88=‘bc’)#给字典添加/修改元素值(由dict()函数创建的2项字典)
print(dict1)
print(dict1[‘name3’]) #查看键名(key)为’name3’的值(value)
print(type(dict1[‘name3’]),len(dict1[‘name3’])) #查看键名(key)为’name3’的值的类型及长度
print(dict1[‘name3’][0]) #查看键名为’name3’的第一个值
print(dict1[‘name5’][0]) #查看键名为’name5’的第一个值
print(dict1[‘name6’][0]) #查看键名为’name6’的第一个值
print(dict1[‘name4’][‘ab’]) #查看键名为’name4’的值中键名为’ab’的值
说明:
1.符合#在python中对之后的内容表示解释,计算机不执行,方便读者理解程序代码;
2. 符合>>表示运行结果