【菜鸟零基础学习笔记】Day12-列表、元组、字典-【字典篇】

字典(dict)的特点:

1、如何创建字典?

info = {'k1':'v1','k2':'v2'}

#'k1':'v1'称为“键值对”

2、键值对中的value可以是任何类型

3、键值对中的key可以是数字、字符串、布尔值(注意用布尔值作key时可能和名为1或0的其他key重复)、元组;但是key不可以是列表(因为列表可以被修改)、字典

4、字典是无序的

5、补充:当key的值重复的时候,只能保留一个

info = {1:123,True:456,'alex':'apple'}
print(info)   #{1: 456, 'alex': 'apple'}

#因为True是在内存里是1,False是0,所以info中有两个元素的key值重复了,print的时候只能显示一个

【索引:查找指定元素】

info = {'k1':18,'k2':True}
v = info['k1']
print(v)   #18

【切片】

注意:不能通过切片的方式查找字典中的元素,因为字典是无序的

【del 删除】

info = {'k1':18,'k2':True}
del info['k1']
print(info)   #{'k2': True}

【for循环:默认输出的时候只有key】

example1:

info = {'k1':18,'k2':True}
for item in info:
    print(item)

#k1
#k2

example2:

info = {'k1':18,'k2':True}
for item in info.keys():
    print(item)

#k1
#k2

example3:

info = {'k1':18,'k2':True}
for item in info.values():
    print(item)

#18
#True

example4:

info = {'k1':18,'k2':True}
for item in info.keys():
    print(item,info[item])

#k1 18
#k2 True

---------------同样功能---------------

info = {'k1':18,'k2':True}
for k,v in info.items():   #把key赋值给k,把value赋值给v
    print(k,v)

#k1 18
#k2 True

---------------类似功能---------------

info = {'k1':18,'k2':True}
for item in info.items():
    print(item)

#('k1', 18)
#('k2', True)

【clear()清除】

 

【copy浅拷贝】

 

【fromkeys() ----是一种静态方法】

使用的时候直接用:类名+方法

example1:

v = dict.fromkeys(['k1',123,'999'])   #字符串、元组、列表都可以(可以用来循环)
print(v)   #{'k1': None, 123: None, '999': None}

example2:根据序列创建字典,并指定统一的值

v = dict.fromkeys(['k1',123,'999'],123)
print(v)   #{'k1': 123, 123: 123, '999': 123}

【dic】

dic = {'k1':'v1'}
v = dic['k1']
print(v)   #v1

#如果没有一个key叫k1的话,就会报错

【get()】

-----------------------key值存在-----------------------

dic = {'k1':'v1'}
v = dic.get('k1')
print(v)   #v1

-----------------------key值不存在-----------------------


#若传入的key值不存在,则返回None,而不会像dic[]一样报错

dic = {'k1':'v1'}
v = dic.get('k1111')
print(v)   #None

-----------------------用第二个参数指定返回值-----------------------

#如果key为k1111的键值对存在,则返回此键值对中value的值;若不存在,则返回11111
dic = {'k1':'v1'}
v = dic.get('k1111',11111)
print(v)   #11111

【pop()】

---------------key存在时---------------

dic = {'k1':'v1','k2':'v2'}
v = dic.pop('k1')
print(dic,v)   #{'k2': 'v2'} v1

---------------key不存在时---------------

dic = {'k1':'v1','k2':'v2'}
v = dic.pop('k1111',1111)
print(dic,v)   #{'k1': 'v1', 'k2': 'v2'} 1111

【popitem() 指定某一个key删除】

dic = {'k1': 'v1', 'k2': 'v2'}
v = dic.popitem()
print(dic,v)   #{'k1': 'v1'} ('k2', 'v2')随机删除一个

-------------------这样写也可以-------------------

dic = {'k1': 'v1', 'k2': 'v2'}
k,v = dic.popitem()
print(dic,k,v)   #{'k1': 'v1'} k2 v2

【setdefault()】

--------------key存在--------------


dic = {'k1':'v1','k2':'v2'}
v = dic.setdefault('k1','123')
print(dic,v)   #{'k1': 'v1', 'k2': 'v2'} v1

#如果key存在,则不修改原来的字典,并且返回传入的key当前所对应的value


--------------key不存在--------------

dic = {'k1':'v1','k2':'v2'}
v = dic.setdefault('k1111','123')
print(dic,v)   #{'k1': 'v1', 'k2': 'v2', 'k1111': '123'} 123

#如果key不存在,则在原来的字典中加入键值对

【update() 更新】

写法1:

dic = {'k1':'v1','k2':'v2'}
dic.update({'k1':'1111','k2':123})
print(dic)   #{'k1': '1111', 'k2': 123}

写法2:

dic = {'k1':'v1','k2':'v2'}
dic.update(k1=123,k3=345,k5='apple')
print(dic)   #{'k1': 123, 'k2': 'v2', 'k3': 345, 'k5': 'apple'}

-------------------重点方法-------------------

keys()

values()

items()

get()

update()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值