zoukankan      html  css  js  c++  java
  • Python之集合操作

    创建集合

    >>> a = {1,2,3,4,2,'alex',3,'rain','alex'}
    >>> a
    {1, 2, 3, 4, 'alex', 'rain'}

    帮列表去重

    >>> b
    [1, 2, 3, 4, 2, 'alex', 3, 'rain', 'alex']
    >>> set(b)
    {1, 2, 3, 4, 'alex', 'rain'}
    >>> 
    >>> b = list(set(b)) #一句代码搞定
    >>> b
    [1, 2, 3, 4, 'alex', 'rain']

    增删改查

    >>> a
    {1, 2, 3, 4, 'alex', 'rain'}
    #新增
    >>> a.add('黑姑娘')  
    #删除discard
    >>> a
    {2, 3, '黑姑娘', 'alex', 'rain'}
    >>> a.discard('rain')   #删除一个存在的值
    >>> a.discard('rain2')   #如果这个值不存在,do nothing.
    >>> a
    {2, 3, '黑姑娘', 'alex'}
    >>> 
    #随机删除,少用,或特定场景用
    >>> a.pop() #删除并返回
    1
    #删除remove
    >>> a.remove(4)
    #
    >>> a
    {2, 3, '黑姑娘', 'alex', 'rain'}
    >>> 'alex' in a
    True
    #
    呵呵,不能改。。

    关系运算

    s_1024 = {"佩奇","老男孩","海峰","马JJ","老村长","黑姑娘","Alex"}
    s_pornhub = {"Alex","Egon","Rain","马JJ","Nick","Jack"}
    print(s_1024 & s_pornhub)  # 交集, elements in both set
    print(s_1024 | s_pornhub)  # 并集 or 合集
    print(s_1024 - s_pornhub)  # 差集 , only in 1024
    print(s_pornhub - s_1024)  # 差集,  only in pornhub
    print(s_1024 ^ s_pornhub)  # 对称差集, 把脚踩2只船的人T出去

    两个集合之间一般有三种关系,相交、包含、不相交。在Python中分别用下面的方法判断:

    print(s_1024.isdisjoint(s_pornhub))     # 判断2个集合是不是不相交,返回True or False
    print(s_1024.issubset(s_pornhub))       # 判断s_1024是不是s_pornhub的子集,返回True or False
    print(s_1024.issuperset(s_pornhub))     # 判断s_1024是不是s_pornhub的父集,返回True or False
  • 相关阅读:
    github访问慢
    vue的图片裁剪上传vue-cropper
    vue动态设置路由重定向
    vue移动端预览pdf
    Vue项目中给路由跳转加上进度条nprogress
    IDEA收藏夹迁移
    Go语言基础语法(一)
    Go语言开发环境安装
    Windows上实现iOS APP自动化测试:tidevice + WDA + facebook-wda / appium
    配置Linux主机名
  • 原文地址:https://www.cnblogs.com/jrb2018/p/11032962.html
Copyright © 2011-2022 走看看