字典 dict
注意:K值相同的时候,只能保留一个
1、基本机构 info = { "k1": "v1", # 键值对 "k2": "v2" }
2 字典的value可以是任何值 info = { "k1": 18, "k2": True, "k3": [ 11, 22, 33, { 'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11,22), } ], "k4": (11,22,33,44) } print(info)
3 布尔值(1,0)、列表、字典不能作为字典的key
info ={ 1: 'asdf', "k1": 'asdf', True: "123", # [11,22]: 123 列表不可以作为key (11,22): 123, 元组可以,因为元组不可以被修改 # {'k1':'v1'}: 123 字典也不可以作为key } print(info)
4,字典是无序的
info = { "k1": 18, "k2": True, "k3": [ 11, [], (), 22, 33, { 'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11,22), } ], "k4": (11,22,33,44) } print(info)
5、索引方式找到指定元素,不能通过切片找(因为是无序的)
info = { "k1": 18, 2: True, "k3": [ 11, [], (), 22, 33, { 'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11,22), } ], "k4": (11,22,33,44) } # v = info['k1'] # print(v) # v = info[2] # print(v) v = info['k3'][5]['kk3'][0] print(v)
6 字典支持 del 删除
info = { "k1": 18, 2: True, "k3": [ 11, [], (), 22, 33, { 'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11,22), } ], "k4": (11,22,33,44) } del info['k1'] del info['k3'][5]['kk1'] print(info)
7,for循环
info = { "k1": 18, 2: True, "k3": [ 11, [], (), 22, 33, { 'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11,22), } ], "k4": (11,22,33,44) }
for item in info: 默认for循环的时候只有key print(item)
for item in info.keys(): 获取字典中的key print(item) for item in info.values(): 获取字典中的values print(item) for item in info.keys(): 键值对取出来 print(item,info[item]) for k,v in info.items(): 把键值对都取出来,优化的方法 print(k,v)
True 1 False 0 info ={ "k1": 'asdf', True: "123", # [11,22]: 123 (11,22): 123, # {'k1':' v1'}: 123 } print(info)
#######################################字典的方法############################################################
1,clear
2,copy 浅拷贝
3、根据序列,创建字典,并指定统一的值
dictdic = { "k1": 'v1', "k2": 'v2' }1 根据序列,创建字典,并指定统一的值v = dict.fromkeys(["k1",123,"999"],123) 第一个值作为key 第二个值作为valueprint(v)
4,get
根据Key获取值,key不存在时,可以指定默认值(None)
# 2 根据Key获取值,key不存在时,可以指定默认值(None) # v = dic['k11111'] 如果我的key不存在,会执行报错 # print(v)
# v = dic.get('k1',111111) 如果取得key不存在,默认把111111给他,如果存在,11111直接忽略。这个要记清楚 # print(v)
5,items
6.keys
7,vlaus
8,
# 3 删除并获取值 # dic = { # "k1": 'v1', # "k2": 'v2' # } v = dic.pop('k1') 删除k1的值,指定k值删除。 # v = dic.pop('k1',90) 当key不存在的事,移除不了,但是会返回默认值90 # print(dic,v) # k,v = dic.popitem() 在字典中随机删除,并且取到 # print(dic,k,v)
9,setdefault 设置值
# 4 设置值, # 已存在,不设置,获取当前key对应的值 # 不存在,设置,获取当前key对应的值 # dic = { # "k1": 'v1', # "k2": 'v2' # } # v = dic.setdefault('k1111','123') # print(dic,v)
10 更新
已经存在的覆盖上去
不存在的,更新上去
5 更新 dic = { "k1": 'v1', "k2": 'v2' } # dic.update({'k1': '111111','k3': 123}) 第一种方法 # print(dic) dic.update(k1=123,k3=345,k5="asdf") 第二种方法 print(dic)
# 6 keys() 7 values() 8 items() get update
##########