zoukankan      html  css  js  c++  java
  • 数据类型-集合

    用列表求交集

    >>> iphone7=['alex','rain','jack','old_driver']
    >>> iphone8=['alex','shan','jack','old_boy']

    >>> both_list=[]
    >>> for name in iphone8:    #循环iphone8
      ... if name in iphone7:    #判断name是否在iphone8里
      ... both_list.append(name)  #如果有就加入到 both_list 列表里
    ... print(both_list)
    ...
    ['alex']
    ['alex', 'jack']

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

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

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

    >>> s    #添加一个集合   
    {1, 2, 3, 4, 6}  
    >>> l = [1,2,3,4,5,2,3]  
    >>> set(l)     #将列表l 转换成集合
    {1, 2, 3, 4, 5}

    可以将列表、元组转成集合。

    >>> s.add(6)    #增加一个6
    >> s.pop()     #pop 随机删 
    1

    >>> s.remove(6)  #指定删除6  
    >>> s
    {2, 3, 4}

    >>> s.discard(6)     #指定删除6  与remove的区别是 discard 不存在数据时也不报错。

    >>> s.update([1,2,3,4,5])  #update 可以同时添加多个数据  add只能添加一个
    >>> s
    {1, 2, 3, 4, 5}

    >>> s.clear()    #clear 清空数据
    >>> s
    set()

    >>> iphone7={'alex','rain','jack','old_driver'}
    >>> iphone8={'alex','shan','jack','old_boy'}
    >>> iphone7.intersection(iphone8)    #intersection 求交集
    {'alex', 'jack'}
    >>> iphone7 & iphone8    # & 求交集
    {'alex', 'jack'}

    >>> iphone7.difference(iphone8)  #求差集
    {'rain', 'old_driver'}
    >>> iphone7 - iphone8      #求差集
    {'rain', 'old_driver'}

    >>> iphone8.union(iphone7)    #求并集
    {'shan', 'rain', 'old_driver', 'old_boy', 'jack', 'alex'}
    >>> iphone8 | iphone7      #求并集
    {'shan', 'rain', 'old_driver', 'old_boy', 'jack', 'alex'}

    >>> iphone8.symmetric_difference(iphone7)  #对称差集
    {'shan', 'old_boy', 'rain', 'old_driver'}
    >>> iphone8 ^ iphone7    #对称差集
    {'shan', 'old_boy', 'rain', 'old_driver'}

    >>> s = {1,2,3,4}
    >>> s2 = { 2,3,5,6,1,4}

    >>> s.issubset(s2)  #判断 s 是不是s2的子集 等同于 a<=b

    True

    >>> s.isdisjoint(s)  #判断两个集合是不是不相交
    False

    >>> s2.issuperset(s)  #判断s2是不是s的父集
    True

    >>> s
    {1, 2, 3, 4}
    >>> s2
    {1, 2, 3, 4, 5, 6}
    >>> s.add(-1)
    >>> s.add(-2)
    >>> s.difference(s2)
    {-1, -2}
    >>> s.difference_update(s2)   #把差集的结果赋给s
    >>> s


    {-1, -2}

  • 相关阅读:
    IOS 给一个文本框,按钮,view加虚线边框
    AFNetworking 使用  基础篇
    IOS——中级篇 --TableView以及Cell
    IOS中级篇 —— picKerView and DatePicKer
    IOS中级篇 ——自动布局 Autolayout  and  VFL
    IOS中级篇—— 多线程--NSOperation
    IOS中级篇 —— Autoresizing
    IOS中级篇 —— 字典转模型
    IOS中级篇 —— 关于深复制和浅复制
    IOS中级篇 —— 日期时间对象
  • 原文地址:https://www.cnblogs.com/anzhangjun/p/8364686.html
Copyright © 2011-2022 走看看