python学习笔记(三)、字典

    字典是一种映射类型的数据类型。辣么什么是映射呢?如果看过《数据结构与算法》这一本书的小伙伴应该有印象(我也只是大学学习过,嘻嘻)。
    映射:就是将两个集合一 一对应起来,通过集合a的值,集合b有且只有一个与之对应。字典是Python中唯一的内置映射类型。

1. 创建和使用字典

    字典以类似于下面的方式表示:
    phonebook = {‘A’:‘a’,‘B’:‘b’,‘C’:‘c’}
    字典由键和其相应的值组成,这种键-值对称为项。每个键与值之间用冒号( : )分隔开,每项用逗号分隔,并且在字典以及其他映射类型中,键都是独一无二的的。空字段用 {} 表示。

1.1 函数dict

    可以使用函数 dict (与list、tuple和str一样,dict也是一个类)从其他映射或键-值对序列创建字典。
    items = [(‘name’,‘AA’),(‘age’,42)]        dict(items)
    items = [name=‘AA’,age=42]         dict(items)

1.2 字典的基本操作

字典的基本行为同序列有很多类似。

  • len(d):返回字典d包含项的个数
  • d[key]:返回与键key相关联的值,当key在字典d中不存在的时候,会报错。
  • d[key]=val:将值val关联到键key,如果键key原来存在,则相当于赋值,否则新添加到字典d中。
  • del d[key]:删除键为key的项。如果key在字典中不存在,则会报错。
  • key in d:检查字典d是否包含键为key的项。相比于检查列表是否包含指定值,检查字典是否包含指定值得效率更高。

1.3 将字符串格式设置功能用于字典

    对于字符串,通过format_map可以将格式字符串中的参数使用字典来进行赋值。如:
    d = {‘a’:123,‘b’:234,‘c’:345,‘d’:456}  ‘{a} + 111 = {b}’.format_map(d)

1.4 字典方法

  • clear:方法clear删除所有的字典项,对齐进行清空。
  • copy:方法copy返回一个与原来字典一样的新字典。但是这个方法执行的是浅复制,只包含值,而非副本。方法deepcopy执行的是深复制,即同时复制值及包含的所有值。
  • fromkeys:方法fromkeys创建一个新字典,其中包含指定的键,默认每个键对应的值都是None。
    {}.fromkeys([‘name’,‘age’]) / dict.fromkeys([‘name’,‘age’]) / dict.fromkeys((‘name’,‘age’),‘xxx’)
  • get:方法get用于获取字典中key的值,当key不存在时,不会报错,返回None。并且当不存在的时候,还可以进行“默认”指定值。
    d.get(‘name’) / d.get(‘name’,‘name不存在’)
  • items:方法items返回一个包含所有字典项的列表,其中每个元素都以(key,value)的形式。且顺序不定。
    d.items()    [(key1,value1),(key2,value2)…]
    这种以(key,value)形式返回的类型名叫字典视图。字典视图可用于迭代(将在后面介绍)。字典视图始终是底层字典的反映,即修改了字典的值,字典视图也会跟着修改。
  • keys:方法keys返回一个包含字典中键的字典视图。
  • pop:方法pop获取与指定键相关联的值,并将该键对应的项从字典中删除。当键key不存在时,会报错。
  • popitem:方法popitem随机返回一个字典项的值,并删除该项。
  • setdefault:方法setdefault用于向字典中添加指定的键-值对,如果存在键key,则更新,不存在,则新增。
  • update:方法update使用一个字典的项来更新另一个字典。如d1.update(d2)。
  • values:方法values返回一个由字典中的值组成的字典视图,包含重复值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值