python课堂随笔_字典

 

列表存在的问题:

       1、 可以储存多个元素,但是数据的意义不明确

        2、 列表要通过索引进行更改,实际操作不方便

字典  dict

        字典里面的元素叫做键值对,

        使用:进行链接,多个价值对使用逗号进行隔开

        {键1:值1,键2:值2,键3:值3}         键(key):值(value)

        注意:

                1、键名不可以重复,键名重复,新值覆盖旧值

                2、键名必须是不可变的数据类型(数值   字符串  元组)

 

字典的查找

         字符串 列表属于有序的序列结构,所以可以用索引(唯一)进行查找

         但是 字典属于键值对的映射结构,没有索引的概念

         字典当中,键唯一,索引我们可以通过键进行值的查找

语法:

         dict[键key] 通过键查找值value

         dict.get(key)

 

字典的修改

dict[key] = 新值

         存在:修改原有值

         不存在: 新增一个键值对

dict.setdefault(key, value)

         存在, 进行查找的功能,返回键对应的值

         不存在,进行修改的功能, 新增我们指定的键值对

 dict.update(New_dic其他字典)

         当New_dict中间的键名存在 dict里面的时候,

        使用New_dict里面的值替换原有的值 当键不存在,新增键值对

注意:健名不可以更改

字典的删除

dict.pop(key)

dict.popitem() 随机删除,在3.6版本之后,会自动排序,表现为从后面开始删除

del dict[键名] 通过del关键字指定删除

视图(对象)方法

         dict.keys() 获取所有的键对象

         dict.values() 获取所有的值对象         

         dict.items() 获取所有的键值对对象

集合的定义 set

         {值1,值2, ....} 值只能是(数值 字符串 元组)

         set("其他序列结构类型")

特点:

         1、去重(集合里面的元素是不可以重复的)         

        2、无序,多次运行会发现顺序不一样(对于较小的数值,会自动排序)

        

se1 = {1, "1", ("a", "b")}
print(se1)
print(type(se1))


se2 = set()  
print(type(se2)) 
print(type({}))


li = [1, 3, 4, 2, 6, 3]
print(set(li))

集合的运算

交集 & 两个集合里面相同的元素

并集 | 两个小组的所有元素

差集 - 我有你没有

        a - b 返回a有b没有的元素

        b - a 返回b有a没有的元素 

集合的增删改查

        s3 = {1, 2, 3, 4} 

        s3.add("天天") # 添加一个元素 

        s3.update([9, 8]) # 添加多个元素 

        s3.update({10, 11}) # 添加多个元素 

        s3.update({"a":1, "b":1}) # 只会将键加入进去 

        print(s3)

is 判断数据类型

         == 只判断数值大小一样

         is 既要大小一样,又要类型一致

        is not 功能与 is相反

         not and or 优先级逐步降低

 

6大基础数据类型总结

可变 列表(list) 字典(dict) 集合(set)

不可变 数值(int flaot bool) 字符串(str) 元组(tuple)

非序列结构:数值

有序序列结构: 列表 字符串 元组

散列结构: 集合 字典(键值对的映射结构)

列表 [值1,值2,值3,...]

元组 (值1,值2,值3,...)

集合 {值1,值2,值3,...}

字典 {键1:值1,键2:值2,键:值3,...}

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值