• 复习字典、集合


    (一)字典(无序,可以修改,键不可以重复,值可以重复)

      每对键值组合称为项,字典跟序列不同,序列讲究顺序,字典讲究映射,不讲顺序。

      注意:字典的键必须是独一无二,而值可以多种数据类型,但是键取自不可改变的数据类型(如字符串、数值型或元组)。键值唯一,值不唯一。

    1.字典的创建(至少五中方法)

      a = dict(one=1,two=2,three=3,four="肆")

      b = {"one":1,"two":"贰","three":3,"four":4}

      c = dict(zip(["one","two","three","four","five"],["壹","贰","叁","肆","伍"]))

      d = dict([("two",2),("one",1),("three",3),("four,4")]) 或d = dict((("two",2),("one",1),("three",3),("four,4")))

      e = dict({"three":3,"two":"贰","one":1})

      g = dict.fromkeys(seq[,val])  创建一个新字典,以序列seq中元素,做字典,val做值

    2.字典的访问

      创建一个空子典  dict1 = {} 

      dict2 = dict.fromkeys(range(32),"赞")

      print(dict2.keys())  #输出所有键组成的列表

      print(dict2.values())  #输出所有组成的列表

      print(dict2.items())  #输出所有的键值对组成的列表

    3.获取内容

      dict3 = {}

      dict4 = dict3.fromkeys(range(5),"赞")

      print(dict4.get(4))  #输出0~4都是赞,而其他值都是None

      print(dict4.get(10),"木有")  #给不存在的键赋值默认值

    4.清空字典clear()删除字典内所有元素

      dict5 = {"name":"张三","sex":"男","age":18}

      print(dict5.clear())

    5.删除字典

      dict6 = {"name":"李丽","sex":"女","age":18}

      del dict6

      dict6.pop(name)  #通过指定键来键对应的值,同时显示删除键所对应的值

      dict6.popitem()  #随机删除一项键值对

    6.拷贝字典,返回一个字典的浅复制

      dict6 = {"name":"李丽","sex":"女","age":18}

      dict7 = dict6.copy()

      print(dict7)

    7.更新字典

      dict8 = {"米奇":"老鼠","汤姆":"猫","小白":"猪"}

      dict8.update(小白="狗")

      注意:当一个字典中有重复的键所对应的值时,后面的健值对会替换掉前面的健值对

    8.统计字典的长度

      dict8 = {"米奇":"老鼠","汤姆":"猫","小白":"猪"}

      len(dict8)

      str(dict8)  以字符串形式输出字典

      print("value:",dict8.__contains__("米奇"))  判断键是否在字典内,如果在返回True,不在返回False

    9.遍历嵌套字典

    def dict9_list(d,l):

      for x in d.keys():

        if type(d[x]) == dict:

          dict9_list(di[x],l)

        else:

          l.append(d[x])

    d = {1:"a",2:"b",3:{4:"c",5:"d",6:{7:"e"}},8:"f"}

    l = []

    dict9_list(d,l)

    print(l)

    (二)集合,你是我的唯一,我的心中只有你(无序,不可以修改,不可以重复)(可以用作去重元素)

    1.集合创建

      set1 ={1,2,3,4,5,6}

      set2 = set([1,2,3,4,5,6])

      set1 == set2

    2.访问集合

      set3 = {1,2,3,4,5,6,3,7,8,9,9}

      for each in set3:

        print(each,end=" ")

      可以使用 in和not in 来判断一个元素是否在集合中已经存在

      >>>2  in set3  #True    >>>2 not in set3  #False  

      使用add()方法可以给集合添加元素,使用remove()方法删除集合中已知的元素

      >>>set3.add(11)

      >>>set3

       {1,2,3,4,5,6,7,8,9,11}

      >>>set3.remove(5)

      >>>set3

      {1, 2, 3, 4, 6, 7, 8, 9}

    3.不可变集合(冰冻集合frozenset())

      >>>set4 = frozenset({1,2,3,4,5})

      >>>set4.add(6)

      报错:因为冰冻集合没有add属性

  • 相关阅读:
    Timer Pattern
    la négation
    expression de la fréquence
    .NET 索引器
    JQuery.Gantt(甘特图) 开发指南
    .NET 预处理器指令
    .NET 数据类型之匿名类型(var)
    .NET base与this
    .NET using关键字
    .NET 基础语句
  • 原文地址:https://www.cnblogs.com/xiaofei-bai/p/8715727.html
Copyright © 2020-2023  润新知