zoukankan      html  css  js  c++  java
  • Python-基础类型set

    作用

    1.去重
    集合内不可能出现相同的元素
    2.关系运算
    如:共同好友、共同关注...、交叉并集...
    用集合就是用上面两个功能 如果都用不上 那么就不要用

    定义

    s = {1,2,3,4,5,6,7,8}
    """
    1.集合内的元素必须是不可变类型
    2.元素与元素之间逗号隔开 不是键值对
    3.集合内的元素也是无序的
    """
    # 如何定义空集合
    s1 = {}
    d1 = {}
    print(type(s1),type(d1))  # <class 'dict'> <class 'dict'>
    # 定义空集合一定要用set关键字
    ss = set()
    print(ss,type(ss))  # set() <class 'set'>
    

    类型转换

    """能够被for循环的数据类型都能够被转成集合"""
    s1 = set('hello')
    print(s1)
    s2 = set([1,2,3,4,5,6,7,7,7,7,7])
    print(s2)
    s3 = set({'username':'yang','password':123})
    print(s3)
    --------------------------------
    {'l', 'h', 'o', 'e'}
    {1, 2, 3, 4, 5, 6, 7}
    {'username', 'password'}
    

    去重

    s = {1,1,1,2,3,3,4,3,2,3,4,6,5,3,}
    print(s)  # 集合内如果有相同的元素会自动去重
    # 去重练习题
    l = [4,3,2,3,4,6,7,8,1,2,3]
    # 要求1 对列表进行去重不需要保持原来的元素顺序
    # 先转成集合
    s = set(l)
    # 再转成列表
    l1 = list(s)
    print(l1)
    # 要求2 对列表去重之后需要保持原来的元素顺序
    new_l = []
    for i in l:
        if i not in new_l:
            new_l.append(i)
    print(new_l)
    

    关系运算

    # 用户1的好友列表
    friends1 = {'jason','tank','tony','jerry'}
    # 用户2的好友列表
    friends2 = {'jason','tony','owen','oscar'}
    
    # 1 求两个用户的共同好友  交集
    res = friends1 & friends2
    print(res)  # {'jason', 'tony'}
    # 2 求两个用户所有的好友
    res = friends1 | friends2
    print(res)  # {'jerry', 'jason', 'oscar', 'tony', 'tank', 'owen'}
    # 3 求用户1独有的好友
    res1 = friends1 - friends2
    res2 = friends2 - friends1
    print(res1,res2)  # {'jerry', 'tank'} {'owen', 'oscar'}
    # 4 求两个用户各自独有的好友            对称差集
    res = friends1 ^ friends2
    print(res)  # {'owen', 'jerry', 'tank', 'oscar'}
    # 5 子集 父集
    s1 = {12,3,4,5,6}
    s2 = {12,6}
    print(s1 > s2)  # s1是否是s2的父集
    print(s2 < s1)  # s2是否是s1的子集
    
  • 相关阅读:
    Vue 函数
    VUE 基础语法
    C# txt文件操作
    C# 添加应用程序包
    Js 倒计时跳转
    Redis集群(主从集群)(一)
    JAVA基础总结001(《JAVA核心技术》)
    Linux学习001——文件和用户
    Linux——ELK集群搭建
    Linux安装jdk
  • 原文地址:https://www.cnblogs.com/chiyun/p/14066219.html
Copyright © 2011-2022 走看看