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())      把集合变成 不可变 的

  • 相关阅读:
    loj#2333 「JOI 2017 Final」准高速电车
    loj#2332 「JOI 2017 Final」焚风现象
    loj#501 「LibreOJ β Round」ZQC 的树列
    loj#500 「LibreOJ β Round」ZQC 的拼图
    p2827 蚯蚓
    p5471 [NOI2019]弹跳
    p5304 [GXOI/GZOI2019]旅行者
    p2503 [HAOI2006]均分数据
    p4899 [IOI2018] werewolf 狼人
    loj#137 最小瓶颈路 加强版
  • 原文地址:https://www.cnblogs.com/amirky/p/10211531.html
Copyright © 2011-2022 走看看