zoukankan      html  css  js  c++  java
  • 4.Python数据集之集合

    一、数据类型集合:

    集合是一个无序的,不重复的数据组合,它的主要作用如下:

    去重,把一个列表变成集合,就自动去重了。

    关系测试,测试两组数据之间的交集,差集、并集等关系。

    Set   代表集合。

    集合中的元素有三个特征:

    1、  确定性(元素必须可hash)

    2、  互异性(去重)

    3、  无序性(集合中的元素没有先后之分),如集合(3,5,4)算作同一个集合。

    将列表转为集合。

    >>> l = [1,2,3,4,5,5,6,7]   有重复值的列表。

    >>>set(l)       将列表转成集合。

    >>> 

    s = {1,2,3,4,5}
    s.add(6)    #增加,重复的增加不上。
    s.pop()     #删除随机删除。
    s.remove(6)  #指定删除数值。 如果存在就删除,不存在报错。
    s.discard(6)  #指定删除,如果存在就删除,不存在没有提示。
    s.update([1,2,3,4,5])    #增加,可以一次增加多个数值。
    s.clear()       #清空列表。

    s.difference_update(s2)  #将s和s2 的交集附给s
    s.intersection_update(s2)   #将s和s2的差集附给s。

    交集:

    >>>iphone7.intersection(iphone8)    求交集,同时买了7和8 的

    >>>iphone7 & iphone 8       求交集,同时买了7和8 的

    差集:

    >>>iphone7.difference(iphone8)     求差集,只买了iPhone7,没有买8的。

    >>> iphone7 - iphone8             求差集,只买了iPhone7,没有买8的。

    >>>iphone8.difference(iphone7)     求差集,只买了iPhone8,没有买7的。

    >>> iphone8 – iphone7             求差集,只买了iPhone8,没有买7的。

    并集:

    >>>iphone8.union(iphone7)      把连个集加起来,去重。 

    >>>iphone8 | iphone7                        把连个集加起来,去重。

    对称差集:

    >>>iphone8.symmetric_difference(iphone7)    #只买了iPhone8和iPhone7的人。

    包含关系:

    In,not in :  判断某元素是否在集合内==,!=:判断俩个集合是否相等。

    两个集合之间一般有三种关系,相交、包含、不相交,在python中分别用

    下面的方法判断:

    Set.isdisjoint(s):判断俩个集合是不是不相交。

    Set.issuperset(s): 判断集合是不是包含其它集合,等同于 a>=b

    Set.issubset(s):   判断集合是不是被其他集合包含,等同于a<=b

     

    子集or超集:超集包含子集, 超集相当于省,子集相当于市。

    s.issubset(s2)    判定是不是s2的子集。

    s.issuperset(s2)   判断

  • 相关阅读:
    poj 2352 Stars(线段树)
    poj 2029 Get Many Persimmon Trees
    .Net remoting 的解答,以及跟WebService的区别
    关于Xcode4.2中的release“不能”使用的理解
    委托的学习日志
    钩子是啥?以及用来说啥,是不是可以用来做即时通讯?
    C#后台程序与HTML页面中JS方法互调(功能类似于Ajax中的DWR)
    接触了一下项目管理系统软件:禅道项目管理软件、Bugfree
    将string变为int 的几种方法方法比较
    Hashtable、Dictionary、SortedDictionary、SortedList的比较应用
  • 原文地址:https://www.cnblogs.com/qiandong/p/8825040.html
Copyright © 2011-2022 走看看