python学习笔记(四)dict和set类型

1. dict
    1. 什么是dict
        1. 可以通过可以来查找value值的数据结构,就是json嘛
        2. 格式:d={'admin':98,'key':95}
        3. len()函数可以求解任何集合的长度

    2. 访问dict
        1. d[key]的形式来查找对应的value
        2. 当d[key]不存在的时候会报错:KeyError
        3. 为了避免KeyError:
            1. 使用if条件判断
            2. 使用dict本身的get方法:d.get('key')


    3. dict的特点
        1. 查找速度快,无论存储了多少数据速度有一样,但是占用内存比较大
        2. dict存储的数据是无序的,print打印的时候输出数据会不一样,甚至不同机器也会影响输出顺序
        3. 作为key的元素必须是不可变的,比如字符串、整数、浮点数、元组,注意list由于可变而不可以作为key就行了。另外,key是不可以重复的。

    4. 更新dict
        1. 使用赋值语句就行了

    5. 遍历dict
        1. 通过for循环遍历即可


2. set
    1. 什么是set
        1. 一组没有重复数据的集合,类似dict的key的集合
        2. 定义方式:s=set([list]),用set方法,输入一个list
        3. 注意,set中的数据是无序且没有重复的,如果输入的list中有重复数据的话会自动只保留一个

    2. 访问set
        1. 只能通过in函数判断数据是否在set中(结果返回的是布尔值),由于没有index且无序,所以没办法访问读取一个具体的值。

    3. set的特点
        1. 内部结构与dict很像,所以in函数判断速度很快
        2. set储存的元素必须是不变对象,同dict的key
        3. set存储的数据是无序的
        4. 一种应用:判断某一变量/数据是否在一定集合范围内,由于访问速度很快,所以比单纯靠if来判断要方便很多

    4. 遍历set
        1. 同样通过for循环来遍历即可

    5. 更新set
        1. set.add()方法可以添加元素,如果已存在,则不会报错
        2. set.remove()方法可以删除元素,如果不存在,则会报错,所以需要先判断元素是否存在
        3. 更新set即先添加再删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值