字典以及字典的魔法

info={"k1":"v1","k2":"v2"}     #创建一个字典,"k1":"v1"称为一个键值对,这个字典有两个键值对

  字典的value可以是任意值;字典的key可以是数字,字符串,元组,!!!但不能是列表,字典。因为列表可以修改!!
  如果用布尔值当作字典的key,True会当成1作为key值,False会当成0作为key值。
!字典不能通过切片或者索引的方法进行查找,只能输入自己定义的key值进行查找
info={"k1":"v1","k2":"v2","k3":"v3"}   #创建一个字典,"k1":"v1"称为一个键值对,这个字典有两个键值对
print(info)              #字典是没有顺序的

info={"k1":"v1","k2":"v2","k3":"v3"}   #创建一个字典,"k1":"v1"称为一个键值对,这个字典有两个键值对
#我们也可以自己定义索引,就是k1 k2 k3
v=info["k1"] #注意 要用中括号
print(v) #输出结果为v1

info={"k1":"v1","k2":"v2","k3":"v3"}   
del info["k1"] #可以通过del的方式删除键值对
print(info) #输出结果为{'k2': 'v2', 'k3': 'v3'

info={"k1":"v1","k2":"v2","k3":"v3"}
for item in info: #默认for循环的时候支循环key,输出结果为k1 k2 k3
print(item)
for item1 in info.keys(): #默认循环的是key,但是也提供了加一个功能
print(item1)
for item2 in info.values(): #可以加一个values,这样输出的就是v1 v2 v3
print(item2)
info={"k1":"v1","k2":"v2","k3":"v3"}
for item in info: #如果我们想输出key和value,可以用这种方法
print(item,info[item])
for k,v in info.items(): #可以通过info.items()的方法实现上面的功能
print(k,v)
 

###字典特有的功能:灰魔法

v=dict.fromkeys([123,"yxz",345],123)      #根据序列创建字典,并赋予他们统一的值
print(v)                          #注意这里不用对对象名操作,而是直接对dict操作,输出结果为{123: 123, 'yxz': 123, 345: 123}

info={"k1":"v1","k2":"v2","k3":"v3"}
v=info.get("k1") #查找 字典中的值,若存在这个key,则输出对应的value
print(v)
v2=info.get("123") #若不存在这个key,则返回None
print(v2)
v3=info.get("123",123123)            #若在想查找的key后面加一个参数,若没有找到这个key,会返回这个参数
print(v3)

info={"k1":"v1","k2":"v2","k3":"v3"}
v=info.pop("k1") #pop的功能是删除这个值,然后获取这个值
print(v) #输出v1,注意!获取的不是key而是value
print(info) #输出删掉k1的字典{'k2': 'v2', 'k3': 'v3'}

info={"k1":"v1","k2":"v2","k3":"v3"}
v=info.popitem() #popitem的功能是随机删除一个键值对,然后获取这个键值对
print(v) #输出('k3', 'v3')
print(info) #输出{'k1': 'v1', 'k2': 'v2'}
#当然,也可以这么写
k,v=info.popitem()           #因为会输出两个值
print(k,v) #输出k3 v3
print(info) #输出{'k1': 'v1', 'k2': 'v2'}
#总结:pop popitem的功能都是删除并获取

#setdefault的功能,设置一个值,并返回这个值,若这个设置的值在原字典里存在,那么不做改变,并获取当前存在的这个key对应的值。
#如果这个key值在原字典中不存在,则会添加一个新的值
info={"k1":"v1","k2":"v2","k3":"v3"}
v=info.setdefault("k123","456")
print(info,v) #"k123"在原字典中并不存在,所以把这个值加进去了并返回,输出结果为{'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k123': '456'} 456
 
 
#update是更新的功能,若key存在,则更改value,若不存在,则新加入一个
info={"k1":"v1","k2":"v2","k3":"v3"}
info.update({"k1":"要向卓","k222":123}) #注意,update后面跟的括号里,若更新的是字典,一定要添加大括号
print(info)
info={"k1":"v1","k2":"v2","k3":"v3"}
info.update(k1="要向卓",k222=123) #当然,也可以这么写,python默认这样就是字典的形势
print(info)

  

 

猜你喜欢

转载自www.cnblogs.com/yxzymz/p/12719227.html