• 字典和集合


    字典

    字典(dict)是一种映射(mapping)的数据结构,字典储存的是键值配对(key:value)这样的映射关系,或者说是键(key)与值(value)的对照表

    创建字典使用大括号{ },存取时在方括号[ ]中填入键,便可关联到对应的值

    字典方法

    In [23]: print(dir(dict))

    ['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']

    字典内置函数&方法
    Python字典包含了以下内置函数:

    cmp(dict1, dict2)  #比较两个字典元素。
    len(dict)              #计算字典元素个数,即键的总数。
    str(dict)              #输出字典可打印的字符串表示。
    type(variable)     #返回输入的变量类型,如果变量是字典就返回字典类型。        

    Python字典包含了以下内置方法:

     
    radiansdict.clear()    #删除字典内所有元素
    radiansdict.copy()    #返回一个字典的浅复制
    radiansdict.fromkeys()    #创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
    radiansdict.get(key, default=None)    #返回指定键的值,如果值不在字典中返回default值
    radiansdict.has_key(key)    #如果键在字典dict里返回true,否则返回false
    radiansdict.items()    #以列表返回可遍历的(键, 值) 元组数组
    radiansdict.keys()    #以列表返回一个字典所有的键
    radiansdict.setdefault(key, default=None)    #和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
    radiansdict.update(dict2)    #把字典dict2的键/值对更新到dict里
    radiansdict.values()    #以列表返回字典中的所有值
     

    集合

    集合(set)用来记录某些无顺序关系的不可变对象是否存在其中,集合中没有重复元素

    创建集合使用大括号{ }或set()函数,空集合只能用set()创建,因为{}代表一个空字典

    集合方法

    print(dir(set))
    ['__and__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__iand__', '__init__', '__init_subclass__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']

     求交集

      set1&set2可得两集合交集,或使用函数set1.intersection(set2)

    求并集

      set1|set2可得两集合并集,或使用函数set1.union(set2)

    求差集

      set1-set2可得集合1相对于集合2的差集,或使用函数set1.difference(set2)

  • 相关阅读:
    10 个深恶痛绝的 Java 异常。。
    为什么公司宁愿 25K 重新招人,也不给你加到 20K?原因太现实……
    推荐一款代码神器,代码量至少省一半!
    Spring Cloud Greenwich 正式发布,Hystrix 即将寿终正寝。。
    hdu 3853 LOOPS(概率 dp 期望)
    hdu 5245 Joyful(期望的计算,好题)
    hdu 4336 Card Collector(期望 dp 状态压缩)
    hdu 4405 Aeroplane chess(概率+dp)
    hdu 5036 Explosion(概率期望+bitset)
    hdu 5033 Building (单调栈 或 暴力枚举 )
  • 原文地址:https://www.cnblogs.com/roygood/p/9700289.html
Copyright © 2020-2023  润新知