1. 字典(dictionary)
字典dict用{}来表示,键值对数据 {key:value} 唯一性
键:都必须是可哈希的,不可变的数据类型就可以当做字典中的键
值:没有任何限制
字典是无序的 是只能通过键去找值,不能进行切片和索引..
2. 增删改查
增
dic[key] = value
dic['火女'] = '人头狗' # 新增
dic.setdefault(key,value)
如果键在字典中存在不进行任何操作,否则就添加
可以通过key查询,没有这个key返回None
删
pop(key)
ret = dic.pop('易大师') #通过key删除 返回被删除的value
# print(ret)
有返回值,返回的是被删除value
del dic[key]
popitem()
# ret = dic.popitem() #随机删除 返回值 一个元组 (key,value)
# print(ret)
# print(dic)
随机删除
clear() 清空字典
改
dic[key] = value
dic['剑豪'] = '哈莎阁' # 强制修改
dic.update(字典)
# dic = {'火女':'安妮','火男':'布兰德','维恩':'暗影猎手','剑豪':'哈莎阁'}
dic.update(dic2) #dic2 -- 添加到指定字典dic里的字典。
print(dic)
查
get(key)
dic[key]
print(dic['易大师父']) #查看1 没有这个键的时候查询会报错
print(dic.get('易大师','你傻啊,没有!')) #查看2 没有返回None 可以指定返回内容
print(dic.setdefault('易大师范湖')) #查看3 没有返回None
for 循环
setdefault(key)
3.字典的其他操作:
keys 获取到所有的键存在一个高仿的列表中
values 获取到所有的值存在一个高仿的列表中
items 获取到所有的键值对已元祖的形式存在一个高仿的列表中
#遍历字典, 分别打印key, value, key:value
dic = {'name':'Tom','age':20,'salary':8800.00}
for k in dic.keys():
print('key = {}'.format(k))
for v in dic.values():
print('values = {}'.format(v))
for v,k in dic.items():
print('{v}:{k}'.format(v = v, k = k))
解构:
a,b = 1, 2
a,b = (1,2)
a,b = [1,2]
# a,b = '12' #将后边解构打开按位置赋值给变量 支持 字符串 列表 元组
# print(a)
# print(b)
# dic = {'易大师':'剑圣','剑豪':'托儿所','草丛伦':'大宝剑'}
# for a,b in dic.items():
# print(a)
# print(b)
4. 字典的嵌套:
dic = {
'name':'汪峰',
'age':43,
'wife':{
'name':'国际章',
'age':39,
'salary':100000
},
'baby':[
{'name':'熊大','age':18},
{'name':'熊二','age':15},
]
}
dic['baby'][0]['age'] = 19
print(dic)