字典,是一种新的数据结构,用来存储数据的容器
一.创建字典的方法,有{} 和dict()函数
1.{}
d= { 'name' : 'LYL' , 'age' : 23 }
print ( d)
对象的键可以是任意的不可变对象,一般使用字符串
对象的值可以是任意对象
2.dict()
d= dict ( name= "LYLL" , age= 23 ) #这里的键不用引号,但是在创建后key都是字符串类型
print ( d)
dict()函数还可以将包含双值的子序列的序列转换为字典,如下
双值序列:序列中只有两个值
子序列:序列中的元素也是序列
d = dict ( [ ( 2 , 3 ) , ( 4 , 7 ) , ( "name" , "lyl" ) ] ) #{ 2 : 3 , 4 : 7 , 'name' : 'lyl' }
print ( d)
d = dict ( [ [ 2 , 4 ] , [ 4 , 6 ] ] ) #{ 2 : 4 , 4 : 6 }
print ( d)
d = dict ( [ 'ds' , 'na' ] ) #{ 'd' : 's' , 'n' : 'a' }
print ( d)
二.获取字典的方法
1.使用[key]
d= { 'name' : 'LYL' , 'age' : 23 }
print ( d[ 'name' ] )
2.d.get(key[,default]) 存在key则返回value,不存在key则会返回默认值
print ( d. get ( 'name' ) ) #LYL
d. get ( 'gender' , '女' )
print ( d. get ( 'gender' , '女' ) ) #女
print ( d) #{ 'name' : 'LYL' , 'age' : 23 }
三.len()和 in 和 not in
1.len(d) 返回键值对的个数
print ( len ( d) ) #2
2.in 和not in :判断键是否在字典中,在返回True
print ( "name" in d) #True
四.修改字典
1.d[key]修改,存在则覆盖原来的值,不存在则创建
d[ "name" ] = "cgd"
print ( d) #{ 'name' : 'cgd' , 'age' : 23 }
d[ 'gender' ] = '女'
print ( d) #{ 'name' : 'cgd' , 'age' : 23 , 'gender' : '女' }
2.d.setdefault(key[,default]) key存在则返回value,不存在则创建key-value
r= d. setdefault ( 'name' )
print ( r) #cgd
d. setdefault ( 'xxx' , 'ddjhshs' )
print ( d) #{ 'name' : 'cgd' , 'age' : 23 , 'gender' : '女' , 'xxx' : 'ddjhshs' }
3.d.update(d2) 合并字典,如果字典d2和d有一样的key,则d2会覆盖d的value
d= { "name" : 'a' , "age" : 99 }
d2= { "gender" : "F" , "name" : "CGD" }
d. update ( d2)
print ( d) #{ 'name' : 'CGD' , 'age' : 99 , 'gender' : 'F' }