zoukankan      html  css  js  c++  java
  • python --- 05 字典 集合

    一、字典     

                           可变数据类型

        {key:value}形式   查找效率高   key值必须是不可变的数据类型

      1.增删改查

           1).增

           dic["新key"] = "新value"        追加新元素

               dic.setdefault(新key,新value)    如果key存在  不添加

                          如果key不存在, 添加{新key:新value}

        2).删

           .pop("key")      关键字删除

          .popitem()   删除最后一项(早期时字典是无序的,就是随机删除一项)

          del dic["key"]   索引和切片删除

          dic.clear()      清空

        3).改

              dic.["老key"] = "新value"

          dic.update(dic1)        更新   把dic1中的内容更新到dic中

        4).查

          ①  dic[key]        关键字查找   没有时报错

          ②  .get(key)       没有时返回  None

                  .get("key",没有这个)          没有时返回“没有这个”

          ③  .setdefault(key,value)  

              key存在时, 把  老value  查出来

              key不存在时,添加  新的key和value,   并查出来

        5).其他操作

          .key()     获取所有的key值

          .value()    获取所有的value值

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

      2.dic的遍历    for循环

           遍历字典两套方案
           dic = {"赵四":"刘晓光", "刘能":"王晓利", "王木生":"范伟"}
             ①. 使用for循环直接遍历字典的key
                for key in dic:
                    print(key)
                    print(dic[key])

     

             ②. 可以使用字典的items()+解构可以直接获取到key和value(解包)
                for k, v in dic.items():
                    print(k)
                    print(v)

    二、集合 set()      {  }  表示

         本事是无序的、不重复的、可变的、 不可哈希的  。

        1.内部元素是不可变的 ,因此不可嵌套 。   是一种只含key的字典。

        2.  ① 没有索引和切片

          ②增  

          .add("x")

          .update({"xx"})        添加元素  "xx"

                          .update("xx")           添加两个元素 "x" 

         ③删

          .pop()      随机删除一个

          .remove("x")   指定删除

         ④改   先删后加 

         ⑤查    for循环

         ⑥交集  s1 & s2

                      s1.intersection(s2)

         ⑦差集  s1 - s2

                      s1.differrence(s2)

         ⑧并集  s1 | s2

                      s1.union(s2)

         ⑨反交集  s1 ^ s2

                        s1.symmetric_difference(s2)

         ⑩ s = frozenset(set())      把集合变成 不可变 的

           

  • 相关阅读:
    关于Git的一些常规操作
    .Net 常用ORM框架对比:EF Core、FreeSql、SqlSuger (下篇)
    Myeclipse打开许多JSP文件或者js文件之后非常卡-------的解决办法
    单点登录常用生成token的操作-----UUID.randomUUID().toString() 简介
    如何使用时间复杂度和空间复杂度来区分算法的效率?
    自定义注解的简单使用
    企业中常用的Git和Svn比较。
    框架中常见的注解分析
    处理大数据流常用的三种Apache框架:Storm、Spark和Samza。(主要介绍Storm)
    养生食谱
  • 原文地址:https://www.cnblogs.com/sc-1067178406/p/10045332.html
Copyright © 2011-2022 走看看