Python基础篇——Day4

字典

字典是“键值对”的无序可变序列,其中每个元素都是一个“键值对”,包含“键对象”和“值对象”
键:是唯一的,不可重复的
值:不同的键对应的值可重复

字典的创建

  1. {}创建:如a={‘name’:‘Tom’, ‘age’:18}
  2. dict()方法创建:如a=dict(name=‘Tom’, age=18);或者a=dict([(‘name’,‘Tom’),(‘age’,18)])
  3. zip()方法创建:如k=[‘a’,‘b’,‘c’],v=[100,200,300],a=dict(zip(k,v))
  4. fromkeys():如a=dict,fromkeys([‘name’,‘age’]) 结果为{‘name’:None,‘age’:None},这是因为此时未赋予键对象对应的值对象

字典的访问

以a={’a’:100,‘b’:200,‘c’:300}为例

  1. 通过键获得值,如访问键’a’所对应的值,a[‘a’] 结果为100
    注意:若key不存在则会抛出异常
  2. get()方法访问,推荐使用,如a.get(‘a’)结果为100
    注意:当key不存在时返回None,也可设定key不存在时的返回对象,如a.get(‘d’,400)结果返回400
  3. items()方法列出所有的键值对,如a.items()结果为dict_items([(‘a’, 100), (‘b’, 200), (‘c’, 300)])
  4. a.keys(),列出a中所有的键;a.values(),列出a中所有值
  5. len():返回a中的键值对个数
  6. key in a:检测key是否在字典a中,是则返回True,否则返回False,如’b’ in a 结果为True

字典的增删修改

以a={’a’:100,‘b’:200,‘c’:300}为例

增加元素:

  1. 直接通过键值对方法增加,如a[‘d’]=400结果为a={‘a’:100,‘b’:200,‘c’:300,‘d’:400}
    注意,若增加的键在原先字典中已经存在,则会覆盖掉对应的值
  2. update()方法,如b={’a’:10,‘f’:70},a.update(b):将b中的键值对添加到a中,已有的键值对则被直接覆盖,其结果为a={‘a’:10,‘b’:200,‘c’:300,‘f’:70}

删除元素:

  1. del()方法删除指定键值对,如del(a[‘a’])结果为a={’b’:200,‘c’:300}
  2. clear()方法用于删除所有键值对,其结果为a={}
  3. pop()方法删除指定键值对,并返回值对象,如a.pop(‘a’)返回值对象100
  4. popitem()方法随机删除会返回该键值对

字典核心底层原理(了解)

字典对象的核心是散列表,散列表是一个稀疏数组,即总有空白元素的数组,数组的每个单元叫bucket,每个bucket有两个部分,一个是键对象的引用(例如字符串对象的引用),另一个是值对象的引用,由于所有bucket的结构和大小一致,我们可以通过偏移量来读取指定的bucket

集合

集合是无序可变序列,元素不可重复,集合是所有元素实际上都是字典的键对象,因此不可重复

集合的创建

  1. {}创建并通过add()方法添加,如a={1,2,3},a.add(9)结果为a={1,2,3,9}
  2. set()方法创建,如a=[1,2,3],b=set(a)结果为a={1,2,3}

集合元素的删除

  1. remove():删除指定元素
  2. clear():清除整个集合

并集、交集与差集

  1. a|b或a.union(b):a与b的并集
  2. a&b或a.intersection(b):a与b的交集
  3. a-b或a.difference(b):a与b的差集
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值