zoukankan      html  css  js  c++  java
  • python中的元组和集合

    一、元组
    元组的属性:有序不可改,可以通过下标获取元素
    1、元祖命名可以用(),只有一个元素的时候要加逗号
    L3=()
    L2=(1,)
    L1=(1)
    print(type(L3))
    print(type(L2))
    print(type(L1))
    
    
    <class 'tuple'>
    <class 'tuple'>
    <class 'int'>
    

      

    2、有序可以通过下标获取元素,且可以循环:

    yuanzu=('test',1,12,12.22)
    print(yuanzu[0])
    # test
    
    print(yuanzu[-1])
    # 12.22
    
    
    for i in yuanzu:
        print(i)
    # test
    # 1
    # 12
    # 12.22 
    

      


    3、可用的方法如下:
    L2=('test',1,12,12.22,1)
    print(L2.count(1)) #获取元素出现的次数
    2
    print(L2.index('test')) #获取元素对应的下标
    0
    

      

    二、集合
    #集合天生可以去重
    #集合是无序的
    1、集合的命名,空集合不可以用{}
    s2 = set() #空集合
    s = {1,2,3,4,5,6,7,7,7,6,6,1,1} #集合
    

      

    2、常用的方法
    1)强转为set
    l = [1,2,3,4,5,6,7,7,7,6,6,1,1]
    l = set(l)
    print(l)
    {1, 2, 3, 4, 5, 6, 7}
    

      


    2)添加元素
    s = {1,2,3,4,5,6,7,7,7,6,6,1,1} #集合
    s.add(8) #添加元素
    print(s)
    {1, 2, 3, 4, 5, 6, 7, 8}
    

      


    3)将一个集合添加到另一个集合中
    s = {1,2,3,4,5,6,7,7,7,6,6,1,1} #集合
    s.update({'MLing',11,100}) #把另外一个集合加入这个集合里面
    print(s)
    {1, 2, 3, 4, 5, 6, 7, 'MLing', 100, 11}
    

      


    4)删除指定的元素
    stu={1, 2, 3, 4, 5, 6, 7, 'MLing', 100, 11}
    stu.remove(4) #删除指定的元素
    print(stu)
    {1, 2, 3, 5, 6, 7, 100, 11, 'MLing'}
    

      


    3.关系方法:
    关系测试,交集、并集、差集、对称差集
    1)取交集:都存在的
    l1 = range(0,11) #学了自动化的学生
    l2 = [2,4,5,6] #学性能的学生
    l1 = set(l1)
    l2 = set(l2)
    print(l1 & l2) #取交集,就是两个集合里面相同的元素
    print(l1.intersection(l2))
    
    {2, 4, 5, 6}
    {2, 4, 5, 6}
    

      

    2)取并集

    l1 = range(0,11) #学了自动化的学生
    l2 = [2,4,5,6] #学性能的学生
    l1 = set(l1)
    l2 = set(l2)
    print(l1.union(l2)) #并集,就是把两个集合合并到一起
    print(l1 | l2)
    
    {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    

      

    3)取差集

    l1 = range(0,11) #学了自动化的学生
    l2 = [2,4,5,6] #学性能的学生
    l1 = set(l1)
    l2 = set(l2)
    print(l1 - l2 )#差集,在a集合里面存在,在b集合里面不存的
    print(l1.difference(l2))
    
    {0, 1, 3, 7, 8, 9, 10}
    {0, 1, 3, 7, 8, 9, 10}
    

      

    4)对称差集
    l1 = range(0,11) #学了自动化的学生
    l2 = [2,4,5,6] #学性能的学生
    l1 = set(l1)
    l2 = set(l2)
    print(l1 ^ l2) #对称差集,把a集合和b集合里面相同的元素去掉,剩下的
    print(l1.symmetric_difference(l2))
    
    {0, 1, 3, 7, 8, 9, 10}
    {0, 1, 3, 7, 8, 9, 10}
    

      

    5)判断子集和父集

    l1 = range(0,11) #学了自动化的学生
    l2 = [2,4,5,6] #学性能的学生
    l1 = set(l1)
    l2 = set(l2)
    print(l1.issuperset(l2)) #判断a集合是不是b集合的父集
    print(l2.issubset(l1)) #判断a集合是不是b集合的子集
    
    True
    True
    

      

     


  • 相关阅读:
    Mac php使用gd库出错 Call to undefined function imagettftext()
    centos 使用 locate
    Mac HomeBrew 安装 mysql
    zsh 命令提示符 PROMPT
    新的开始
    Java 面试题分析
    Java NIO Show All Files
    正确使用 Volatile 变量
    面试题整理 2017
    有10阶梯, 每次走1,2 or 3 阶,有多少种方式???
  • 原文地址:https://www.cnblogs.com/MLing/p/12780989.html
Copyright © 2011-2022 走看看