字典的内置方法
"""d1 = {
'name': 'egon',
'age': 18,
'hobby':['游泳','看电影']
}"""""
print(d1['name'])通过k来去v的值
print(id(d1)) 看一下k的地址
d1['name'] = 'tony' 此时我将把k对v值换成tony
print(d1) v值已变
print(id(d1)) k地址并没有变
说明字典是可变类型
print(d1['password']) password 不在d1的k值中,直接报错
d1['password'] = '123'键存在则修改,不存在则新建(一句话贼好用)
print(d1)
{'name': 'egon', 'age': 18, 'hobby': ['游泳', '看电影'], 'password': '123'}
len('查看键值对的数量')
print(len(d1))
成员运算 in 和not in
d1 = {
'name': 'egon',
'age': 18,
'hobby':['游泳','看电影']
}
print('egon'in d1) 此时报错,因为只有k暴露在外面,k会把v的值隐藏,只有通过k来拿到v的值
4.删除
del d1['name']
print(d1)
{'age': 18, 'hobby': ['游泳', '看电影']}
k和V是一个键值对,缺一不可
d1.pop('name')
print(d1)
{'age': 18, 'hobby': ['游泳', '看电影']}
.pop()弹出功能
'''字典不能使用索引'''
keys 老母猪要就生一个,不要就在肚子里
d1 = {
'name': 'egon',
'age': 18,
'hobby':['游泳','看电影']
}
print(d1.keys())#取所有的key值
for i in d1.keys():
print(i)
"""
python2与python3对比
python3
keys() dict_keys(['username', 'password', 'hobby']) 老母猪
python2
keys() ['username', 'password', 'hobby']
"""
print(d1.values())拿到字典中所有的v值,这是个特权!!!!
values 老母猪要就生一个,不要就在肚子里
"""
python2与python3对比
python3
values() dict_keys(['jason', 123, ['read', 'run']]) 老母猪
python2
values() ['jason', 123, ['read', 'run']]
"""
print(d1.items()) 列表中的小列表
print(d1.items())
for nihao,wohao, in d1.items(): 解压赋值,通过for循环让变量名拿到.itemsd的的k,v中的值
print(nihao,wohao)
5 循环
for i in d1:
print(i)
通过for循环用变量名的方式拿字典中的值,只能拿到key
dict字典的内置方法
"""d1 = {
'name': 'egon',
'age': 18,
'hobby':['游泳','看电影']
}"""""
print(d1['name'])通过k来去v的值
print(id(d1)) 看一下k的地址
d1['name'] = 'tony' 此时我将把k对v值换成tony
print(d1) v值已变
print(id(d1)) k地址并没有变
说明字典是可变类型
print(d1['password']) password 不在d1的k值中,直接报错
d1['password'] = '123'键存在则修改,不存在则新建(一句话贼好用)
print(d1)
{'name': 'egon', 'age': 18, 'hobby': ['游泳', '看电影'], 'password': '123'}
len('查看键值对的数量')
print(len(d1))
快速创建字典
l = [
['username','jason'],
['password',123],
['hobby',['read','run']]
]
d = {}
for i in l: # ['username','jason'] ['password',123] ['hobby',['read','run']]
d[i[0]] = i[1] # d['username'] = 'jason'
print(d)
res = dict(l)
print(res) 天秀!!!!!
dict.clear() 清空
d1.clear()
print(d1)
dict.fromkeys() 快速先生成一个字典
l = ['username','pwd','hobby']
res = dict.fromkeys(l,None)
print(res)
dict.popitem()
res = d1.popitem() # 随机弹出一组键值对
print(d1)
print(res) # ('hobby', ['read', 'run'])
dict.setdefault() 重点
dd = {'name':'jason','pwd':123}
dd.setdefault('age',18) # 键不存在 则新建
res = dd.setdefault('name','egonSBSBSB') # 键存在不修改 而是获取到键对应的值
print(dd,res) # {'name': 'jason', 'pwd': 123, 'age': 18} jason
dict.update()
dd = {'name':'jason','pwd':123}
dd.update({'age':18}) # 键不存在 则新建
dd.update({'name':'EGONDSB'}) # 键存在则修改
print(dd)
还不如使用下列方式
dd['age'] = 18
dd['name'] = 'jason'