• (五)字典,集合


    一. 字典

    1.什么是字典

            字典是以key:value的形式来保存数据

            {}表示. 存储的是key:value

    2. 字典的增删改查(重点)

            1). 添加

               a) dic[key] =

               b)setdefault(),此方法可以输入一个参数,也可以输入两个参数。

                一个参数时,作为key使用,这时,如果字典中没有这个key,那么就把这个key添加到字典中,值为None。两个参数时,第一个作为key,第二个作为value,如果字典中没有这个key,那么keyvalue就会被保存在字典中。不管是一个参数还是两个参数,如果字典中有了相应的key,那么就不会再更新新输入的keyvalue

            2). 删除

                pop(key)类似于列表list[索引]

                popitem( )Python3.6中,删除的是最后一项

                del  dict[key]这是命令式删除

                clear( ) 清空字典

            3). 修改

                a)dic[key] =

                b)oldDict.update(newDict) 更新字典

                  这个方法,会把newDict中的数据更新到oldDict上,一样的key对应的value使用newDict的,oldDict中没有的值,也会添加进入。其实就是把newDict直接复制到oldDict中。

    dic = {1: "a", 2: "b", 6: 'd'}
    dic1 = {1: "g", 2: "e", 6: 'd',3:9}
    dic.update(dic1)
    

      打印后:

    {1: 'g', 2: 'e', 6: 'd', 3: 9}
    {1: 'g', 2: 'e', 6: 'd', 3: 9}
    

      

    4). 查询

                a)dic[key],查看单一的一个元素。

                b)get(key, value),如果只是输入一个参数,作为key使用,如果字典中有对应的key,就返回此key对应的value。如果字典中没有此key,则返回None。输入两个参数时,第一个作为key,第二个作为value。如果字典中有此key,则返回对应的值,如果没有此key,则返回,自己输入的第二个参数,即为value

                c)setdefault(key, value),这个方法输入一个key就可以获取到对应的value,也算是一个查询的工具

            5). 遍历,字典是一个可迭代对象

               a)for item in dict:

                  (操作语句)

               item在这里就是key,可以直接使用

    b)for k,v in dict.items():

        上面的k,v就是对应的keyvalue,直接可以使用

    这种方式叫解构,也叫解包。类似于 a,b = 1,2 这样12会分别赋值给ab。也可以如下操作:a,b = (1,2)

     3. 字典的相关操作

            1. keys() 获取到所有的键

              打印:dict_keys([1, 2, 3]),这个值类似于列表,所以在使用for循环遍历时,可以按照列表的方式来展示

    1. values() 获取到所有的值

              打印:dict_values(['a', 'b', 'd']),这个值类似于列表,所以在使用for循环遍历时,可以按照列表的方式来展示

    1. items() 拿到所有的键值对

      使用方式在2中的遍历已使用。

    4. 字典的嵌套

            字典里可以存放各种数据,如下:

    av_catalog = {
        "欧美": {
            "www.youporn.com": ["abc", "def"],
            "www.pornhub.com": ["123大", "345"],
            "letmedothistoyou.com": ["wer", "try"]    },
        "日韩": {
            "th": ["rrr", "verygood"]
        },
        "大陆": {
            "de": ["wer", "bgbg"]
    1:True
        }
    }
    

    二、集合

     集合中存储的都是不可变的值,就相当于存储的字典的key

    1. 集合最主要的作用就是去重复

       

     lst = ["麻将", "牌九", "骰子", "扑克", "老虎", "骰子", "扑克", "老虎", "扑克", "老虎", "扑克", "老虎"]
    

     去掉上面列表中的重复数据,可以如下面的代码:

    li = []
    for v in lst:
        if v not in li:
            li.append(v)
    print(li)
    

     使用set集合,可以如下代码:

    s = set(lst)
    lst = list(s)
    print(lst)
    

     两种方式,一目了然,可以看到,使用set集合会更方便简单一些。

    2.

      set.add(不可变的值),列表,字典不可以被添加。

    3.

      set.update( ),这个方法类似于列表的extend( )方法,会把输入的元素,按顺序再添加到set中。

    s = {"a",2}
    s.update("def")
    print(s)
    

     打印后:

    {2, 'f', 'e', 'a', 'd'}
    

      

    s = {"a",2}
    s.update({"def",34})
    print(s)
    

     打印后:

    {2, 'a', 34, 'def'}
    

     由以上两个输出还可以看出一个问题,就是,集合中的数据没有顺序,其实是hash处理的结果。

  • 相关阅读:
    ASP.NET CORE3.0 API Swagger+IdentityServer4授权验证
    Ubuntu16.04安装RabbitMq并设置用户
    使用sql实现表90度旋转(矩阵转置)
    HDWiKi新架设网站打开慢原因排查1.4秒→0.03秒
    手机端网页设置了csswidth:100%,但不能显示完整的问题
    SQL Server 2008 收缩日志
    MSSQL查看一个数据库中所有表的行数
    那就简单说说这个服务器吧,题外话。
    win7单独安装php
    css兼容写法
  • 原文地址:https://www.cnblogs.com/asia-yang/p/10046442.html
Copyright © 2020-2023  润新知