zoukankan      html  css  js  c++  java
  • 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'), '你好']
  • 相关阅读:
    Django(app的概念、ORM介绍及编码错误问题)
    Django(完整的登录示例、render字符串替换和redirect跳转)
    Construct Binary Tree from Preorder and Inorder Traversal
    Single Number II
    Single Number
    Binary Tree Level Order Traversal II
    Binary Tree Level Order Traversal
    Binary Tree Zigzag Level Order Traversal
    Recover Binary Search Tree
    Add Binary
  • 原文地址:https://www.cnblogs.com/lucky1212/p/13648197.html
Copyright © 2011-2022 走看看