• Python之元组和集合


    元组

    1.元组的表示方法:用一对圆括号括起来的数据,为一组元组数据   (),不带小括号的可以表示一个元组数,如下:

    #元组的两种表示方法
    tup=1,2,3
    tup1=(1,2,3)
    print(type(tup))
    print(type(tup1))
    
    输出结果:
    <class 'tuple'>
    <class 'tuple'>

    2.元组与列表一样,也是一种序列,但是元组内的元素是不可修改的

    #修改一个列表元素
    tup1=[1,2,3]
    tup1[1]='nihao'
    print(tup1)
    
    输出结果:
    [1, 'nihao', 3]
    
    #修改一个元组元素
    tup1=(1,2,3)
    tup1[1]='nihao'
    print(tup1)
    
    输出结果:
    TypeError: 'tuple' object does not support item assignment(元组不能修改元素)

    3.如果元组中只有一个元素,需要在元素后面添加一个逗号,如果不添加逗号,则就不是一个元组,添加的数据是什么类型返回结果就是什么类型的数据

    #元组内为一个元素时,加逗号和不加逗号的区别
    tup=(1)
    tup1=(1,)
    print(type(tup))
    print(type(tup1))
    
    输出结果:
    <class 'int'>
    <class 'tuple'>

    4.元组是有序的,可以通过索引操作取值

    tup=(1,23,45,'nihao',(1,2),{'name':"蓝天"},[3,4,5])
    print(len(tup))
    print(tup[5])
    print(tup[3])
    print(tup[2])
    
    输出结果:
    7
    {'name': '蓝天'}
    nihao
    45

    5.元组是不可修改的序列,但是可以利用切片对元组内的数据进行更新

    #向元组内添加一组数据,使用切片实现元组连接
    tup=(1,23,45,'nihao',(1,2),{'name':"蓝天"},[3,4,5])
    tup1=("小猴子","大灰狼")
    print(tup[:4]+tup1+tup[4:])
    
    输出结果:
    (1, 23, 45, 'nihao', '小猴子', '大灰狼', (1, 2), {'name': '蓝天'}, [3, 4, 5])

    6.删除元组数据(只能使用del() 进行删除)

    tup=(1,23,45,'nihao',(1,2),{'name':"蓝天"},[3,4,5])
    print(tup)
    del(tup)  #删除元组,是直接删除,而不是清空
    print(tup)
    
    输出结果:
    (1, 23, 45, 'nihao', (1, 2), {'name': '蓝天'}, [3, 4, 5])
    NameError: name 'tup' is not defined  (已被删除,所以该元组不存在)

    7.元组的拆包和解包(变量必须与元组内的元素个数一一对应,元组内有多少个元素,就有多少个变量去一一接收,否则会报错)

    #元组的拆包和解包,使用方法如下:
    tup0,tup1,tup2,tup3,tup4,tup5,tup6=(1,23,45,'nihao',(1,2),{'name':"蓝天"},[3,4,5])
    
    print(tup5)
    
    输出结果:
    {'name': '蓝天'}

    8.元组的相关操作符

    • 重复操作符  *     tuple*3   将元组内的元素重复输出多少次
    • 逻辑操作符号  and  or 
    • 成员关系操作符  in  not  in
    • 拼接操作符+    (拼接操作符两边的元素类型要一致,只能拼接元组类型,其他类型会报错)
    • 关系操作符  (>,<,>=,<=,==)

    9.什么时候用元组

    • .在信息不能进行修改的情况下,用元组
    • 元组的性能要强于列表(测试的时候感受不到,基本上用列表就够 了)

    集合

    1.集合的表示方法:{ }  使用花括号包裹起来的数据为集合

    例如:{1,2,3,4,'python','你好'}

    2.集合和字典的区别:集合没有key,而字典有

    3.集合是无序的可变的,所以不能使用索引进行取值

    4.集合的主要作用:去重  (set会将重复的元组覆盖掉,从而达到去重的效果)  ❥(^_-)     面试中,可能会问到

    #集合可以存储元组,但是不能存储字典和列表
    my_set={"python",1,23,3,3,3,56,7,'python','你好',("name","xiaoha")}
    print(my_set)
    print(len(my_set))
    
    输出结果:
    {1, 3, 'python', 7, '你好', ('name', 'xiaoha'), 23, 56}
    8
    
    
    #集合可以对列表中的重复元素进行去重
    my_list1=["python",1,23,3,3,3,56,7,'python','你好',("name","xiaoha")]
    print(my_list1)
    print(set(my_list1))
    print(list(set(my_list1)))  #将去重后的集合再转换为列表输出,就达到列表去重的效果
    
    输出结果:
    ['python', 1, 23, 3, 3, 3, 56, 7, 'python', '你好', ('name', 'xiaoha')]
    {1, '你好', 3, 7, 'python', ('name', 'xiaoha'), 23, 56}
    ['python', 1, 3, 7, 23, 56, ('name', 'xiaoha'), '你好']
  • 相关阅读:
    设计模式之简单工厂模式
    设计模式之工厂方法模式
    设计模式之抽象工厂模式
    面向对象设计原则
    Spring与Struts整合
    Spring与Hibernate、Mybatis整合
    Java中执行外部命令
    Spring3之Security
    综合练习:词频统计
    组合数据类型综合练习
  • 原文地址:https://www.cnblogs.com/lucky1212/p/13648197.html
Copyright © 2020-2023  润新知