• Python【3】-字典dic和集合set


    一、字典dict

    dict以键值对形式存储,创建方式是用大括号{}并用冒号分隔键和值。

    >>> d={'chen':60,'zhang':80}
    >>> print d
    {'chen': 60, 'zhang': 80}

    赋值操作

    >>> d['chen']=65
    >>> print d
    {'chen': 65, 'zhang': 80}

    取值:get()方法,可以为其设置默认值。

    >>> print d.get('liu',0)
    0

    删除:可以用pop方法删除值,并将删除的元素返回。

    d['liu']=85
    >>> d
    {'chen': 60, 'liu': 85, 'zhang': 80}
    
    >>> d.pop('liu')
    85
    >>> d
    {'chen': 60, 'zhang': 80}

    keys()和values()方法分别返回字典的键和值集合,虽然键值对没有特定的顺序,但是这两个方法返回的结果顺序是一致的。

    >>> d.keys()
    ['chen', 'zhang']
    
    >>> d.values()
    [60, 80]

    字典合并:使用update()方法可以两个字典进行合并。

    >>> d1={'a':100,'b':99}
    >>> d.update(d1)
    >>> d
    {'chen': 60, 'a': 100, 'b': 99, 'zhang': 80}

    完整demo:

    d={"chen":60,"zhang":80}
    print(d)
    
    d['chen']=65
    print(d)
    
    print(d.get("liu",0))
    
    d['liu']=85
    print(d)
    d.pop('liu')
    print(d)
    
    print(d.keys())
    print(d.values())
    
    d1={'a':100,'b':99}
    d.update(d1)
    print(d)

    二、集合set

    1.set用于存储一组不重复的key值集合,但是不存储其value。

    2.set有两种创建方式:

    • 用set函数,参数是list集合,例如:s=set([1,2,3,4,5]);
    • 用大括号包起来的集合字面量,例如: s={1,3}。

    3.set常用操作

    • add(key)方法向set中添加元素,如果元素已经存在则不会生效
    • remove(key)方法可以删除元素。
    • | 操作符可以取集合并集
    • & 操作符取集合交集
    • - 求两个集合的差
    • ^求两个集合的异或。
    >>> s=set([1,2,3,4,5])
    >>> print s
    set([1, 2, 3, 4, 5])
    
    >>> s.add(6)
    >>> print s
    set([1, 2, 3, 4, 5, 6])
    
    >>> s.add(6)
    >>> print s
    set([1, 2, 3, 4, 5, 6])
    
    >>> s.remove(6)
    >>> print s
    set([1, 2, 3, 4, 5])
    
    >>> s1=set([3,5,7])
    >>> print s&s1
    set([3, 5])
    
    >>> print s|s1
    set([1, 2, 3, 4, 5, 7])
    >>> print s1-s
    
    set([7])
    >>> print s^s1
    set([1, 2, 4, 7])
    
    • issubset():判断一个集合是否为另外一个集合的子集;
    • issuperset():判断一个集合是否为另外一个集合的超集。
    >>> s
    set([1, 2, 3, 4, 5])
    
    >>> {1,3,5}.issubset(s)
    True
    
    >>> s.issuperset({1,5})
    True

     如需转载,请标明原文链接:http://www.cnblogs.com/janes/

  • 相关阅读:
    在局部场景中重新定位 Revit 数据
    MP.PDFDocumentCreate
    ArcGIS Pro在 ModelBuilder 中使用逻辑工具的示例 如果数据已存在
    【Arcpy学习实践教程】wgs84坐标系和火星坐标系的转换中demo的对与错
    ArcGIS Pro更新和修复数据源
    ArcGIS API for Python和ArcPy区别
    使用ArcGISPro操作multipatch数据(转)
    arcpy自动制图实战(arcpy.mapping迁移至arcpy.mp)(转)
    pro Camera
    arcgis pro ArcGISProject
  • 原文地址:https://www.cnblogs.com/janes/p/5523135.html
Copyright © 2020-2023  润新知