zoukankan      html  css  js  c++  java
  • Dict和Set类型

    花括号{}表示这是一个dict,用于类似给定一个名字,就可以直接查找分数,d={}
    由于dict也是集合,len()函数可以计算任何集合的大小
     
    使用dict本身提供的get方法,当Key不存在时,返回None,print d.get()
     
    dict的第一个特点是查找速度快,占用内存大,还会浪费很多内容
     
    第二个特点是存储的key-value序对是没有顺序的,不能用dict存储有序的集合
     
    第三个特点是作为key的元素必须不可变,不可变这个限制仅作用于Key,value是否可变无所谓
     
    python的基本类型如字符串,整数,浮点数都是不可变的,都可以作为key。但是list是可变的,就不能作为key
     
    由于dict是按Key查找的,所以,在一个dict中,key不能重复
     
    通过d[key]获取value
     
    set持有一系列元素,但是set的元素没有重复,而且无序
     
    创建set的方式是调用set()并传入一个list,list的元素将作为set的元素
     
    由于set存储的是无序集合,所以我们没法通过索引来访问
    访问set中的某个元素实际上就是判断一个元素是否在set中,可以用in操作符判断,'Bart' in s (注意区分大小写)
     
    set内部结构和dict很像,唯一区别是不存储value,因此判断一个元素是否在set中速度很快
     
    set存储的元素和dict的key类似,必须是不变对象,因此,任何可变对象是不能放入set的
     
    for循环在遍历set时,元素的顺序和list的顺序很可能是不同的,而且不同的机器上运行的结果也不同
     
    更新set主要做2件事,一是把新的元素添加到set中,二是把已经的元素从set删除
    添加元素时用s.add()   删除元素时用s.remove(),通常使用for if...else...
  • 相关阅读:
    关于非旋转Treap
    CSP2019第二轮-划水游记
    题解 Luogu P3370
    CF926B Add Points
    日常卡题
    关于SPFA
    用Docker部署自己的JupyterHub
    请不要在JDK7及以上用Json-lib了
    SQL Server 2000向SQL Server 2008 R2推送数据
    .NET实现微博粉丝服务平台接口
  • 原文地址:https://www.cnblogs.com/zxy1993/p/4643959.html
Copyright © 2011-2022 走看看