Python学习Day8--dict字典


dict类


info = {key:value}
字典的value可以为任何值
列表,字典不能作为字典的key
字典key按照哈希表来保存,key会转换成哈希值。
但是字典是无序的

通过索引[key]来找到指定元素
info = {
	'k1':18,
	 2 : True,
	'k3':[
	11,
	22,
	33,
	{
	'kk1':'vv1',
	'kk2':'vv2',
	'kk3':(11,22),
	}
	],
	'k4':(11,22,33,44)
}
v = info['k3'][3]['kk3'][1]
print(v)
输出结果:
22

支持for循环,但不支持while循环

info = {
	'k1':18,
	 2 : True,
	'k3':[
	11,
	22,
	33,
	{
	'kk1':'vv1',
	'kk2':'vv2',
	'kk3':(11,22),
	}
	],
	'k4':(11,22,33,44)
}
for i in info.keys():
	print(i)
输出结果:
k1
2
k3
k4
info = {
	'k1':18,
	 2 : True,
	'k3':[
	11,
	22,
	33,
	{
	'kk1':'vv1',
	'kk2':'vv2',
	'kk3':(11,22),
	}
	],
	'k4':(11,22,33,44)
}
for i in info.values():
	print(i)
输出结果:
18
True
[11, 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}]
(11, 22, 33, 44)
info = {
	'k1':18,
	 2 : True,
	'k3':[
	11,
	22,
	33,
	{
	'kk1':'vv1',
	'kk2':'vv2',
	'kk3':(11,22),
	}
	],
	'k4':(11,22,33,44)
}
for i in info.keys():
	print(i,info[i])
输出结果:
k1 18
2 True
k3 [11, 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}]
k4 (11, 22, 33, 44)

获取键值对

info = {
	'k1':18,
	 2 : True,
	'k3':[
	11,
	22,
	33,
	{
	'kk1':'vv1',
	'kk2':'vv2',
	'kk3':(11,22),
	}
	],
	'k4':(11,22,33,44)
}
for k,v in info.items():
	print(k,v)
输出结果:
k1 18
2 True
k3 [11, 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}]
k4 (11, 22, 33, 44)

支持del删除
如果key值重复,只取一个

items,keys,values

dic = {
	'k1':'v1'
}
v = dic.items()
print(v)
输出结果:
dict_items([('k1', 'v1')])

fromkeys函数:通过dict类名调用,根据序列创建字典,并指定统一的值。
传进去两个参数,第一个参数为key,第二个参数为value

dic = {
	'k1':'v1'
}
v = dict.fromkeys([('kk1',12),'ab'],123)
print(v)
输出结果:

{('kk1', 12): 123, 'ab': 123}

get函数:根据key获取值,如果key不存在,可以指定默认值(None)

dic = {
	'k1':'v1'
}
v = dic.get('k11')
print(v)
输出结果:
None

dic = {
	'k1':'v1'
}
v = dic.get('k11',123)
print(v)
输出结果:
123

pop函数:删除并获取值

dic = {
	'k1':'v1',
	'k2':'v2',
	'k3':'v3',
}
v = dic.pop('k1',90)
print(dic,v)
输出结果:
{'k2': 'v2', 'k3': 'v3'} v1
如果要删除的key不存在,返回后面的参数
dic = {
	'k1':'v1',
	'k2':'v2',
	'k3':'v3',
}
v = dic.pop('k11',90)
print(dic,v)
输出结果:
{'k1': 'v1', 'k2': 'v2', 'k3': 'v3'} 90

popitem:后面没有参数,随机删除

dic = {
	'k1':'v1',
	'k2':'v2',
	'k3':'v3',
	'k4':'v4',
}
v = dic.popitem()
print(dic,v)
输出结果:
{'k1': 'v1', 'k2': 'v2', 'k3': 'v3'} ('k4', 'v4')

setdefault函数:
设置值,如果已经存在,是获取当前key对应的值。
如果不存在,将传进去的参数设置为value

1.dic = {
	'k1':'v1',
	'k2':'v2',
	'k3':'v3',
	'k4':'v4',
}
v = dic.setdefault('k1',123)
print(dic,v)
输出结果:
{'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4'} v1

2.dic = {
	'k1':'v1',
	'k2':'v2',
	'k3':'v3',
	'k4':'v4',
}
v = dic.setdefault('k111',123)
print(dic,v)
输出结果:
{'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4', 'k111': 123} 123

update函数

1.dic = {
	'k1':'v1',
	'k2':'v2',
	'k3':'v3',
}
dic.update(k1=123,k4='abc')
print(dic)
输出结果:
{'k1': 123, 'k2': 'v2', 'k3': 'v3', 'k4': 'abc'}
update默认将参数转换成字典形式

dic = {
	'k1':'v1',
	'k2':'v2',
	'k3':'v3',
}
dic.update({'k1':123,'k4':'abab'})
print(dic)
输出结果:
{'k1': 123, 'k2': 'v2', 'k3': 'v3', 'k4': 'abab'}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值