• 序列类型(元组()、列表[]、字符串““)、集合类型({}、set())


     序列类型

            组合数据类型能够将多个同类型或不同类型的数据组织起来 ,通过单一的表示使数据操作更有序更容易。根据数据之间的 关系,组合数据类型可以分为三类:

                    序列类型、集合类型和映射类型。

            • 序列类型是一个元素向量,元素之间存在先后关系通过序号访问元素之间不排他(不排他即允许有重复的)

            • 集合类型是一个元素集合,元素之间无序,相同元素在集合中唯一存在。

            • 映射类型是“键-值”数据项的组合,每个元素是一个键值对,表示为(key, value)。 

     元组:()  列表:[]  字符串:' '或" "

            由于元素之间存在顺序关系,所以序列中可以存在相同数值但位置不同的元素。

            序列类型支持成员关系操作符 :

                    in操作:可以判断元素是否在序列中

                    len():长度计算函数

                    分片([])操作:元素本身也可以是序列类型,通过下标访问元素。 

            Python语言中有很多数据类型都是序列类型,其中比较 重要的是:

                    str(字符串)、tuple(元组)和list(列表)。

             •组是包含0个或多个数据项的不可变序列类型。元组生成 后是固定的,其中任何数据项不能替换或删除。

             •列表则是一个可以修改数据项的序列类型,使用也最灵活 

    1. s="abcdefg"
    2. l=[[],[],"abcd"]
    3. print(len(s))
    4. print(s[0:3:2])
    5. print(s.index('a'))#序列中第一次出现此元素的位置
    6. print(s.count('a'))#序列中该元素出现的次数
    7. if 'a' in s:

     

     s.index(x[,i[,j]]):

            序列s中从i开始到j位置中第一次出现元素x的位置

    s.count(x):

            序列s中出现x的总次数 

    元组 

            元组(tuple)是序列类型中比较特殊的类型,因为它一 旦创建就不能被修改。元组类型在表达固定数据项、函数多 返回值、多变量同步赋值、循环遍历等情况下十分有用。

            Python中元组采用逗号圆括号(可选)来表示。 

    1. #没有小括号的元组
    2. x = 1, 2, 3, 4, 5
    3. for i in x:
    4. print(i)
    5. #有小括号的元组
    6. x = (1, 2, 3, 4, 5)
    7. for i in x:
    8. print(i)
    9. #定义函数,用*b接受元组(2,3,4,5)
    10. def f(a, *b):
    11. for i in b:
    12. a += i
    13. return a, b
    14. #返回一个元组,(a,b),而b也是一个元组
    15. #2,3,4,5是元组
    16. m, n = f(1, 2, 3, 4, 5)
    17. print(m, n)

    集合类型 (大括号{},没有索引操作)

            集合类型与数学中集合的概念一致,即包含0个或多个数据项的无序组合。集合中元素不可重复,元素类型只能固定数据类型,例如:整数、浮点数、字符串、元组等, 列表、字典和集合类型本身都是可变数据类型不能作为集合元素出现。

            由于集合是无序组合,它没有索引和位置的概念,不能分片,集合中元素可以动态增加或删除。集合用大括号({}) 表示,可以用赋值语句生成一个集合。 

    1. #集合用大括号表示,可以放整数型,字符型,浮点型,元组
    2. n={1,2,3,'a','b',12.3,(1,2,3)}
    3. print(n)

    set函数:

            可以把其他组合类型转换成集合类型

            由于集合元素是无序的,集合的打印效果与定义顺序可以 不一致。由于集合元素独一无二,使用集合类型能够过滤掉重复元素。set(x)函数可以用于生成集合。

    1. l=(1,1,2,2,3,4,5)
    2. #集合取消重复元素
    3. s=set(l)
    4. print(s)

     注意:可以利用转换集合操作过滤掉重复元素

     集合练习:

            重复元素判定。编写一个函数,接受元组作为参数,如果一个元素在元组中出现了不止一次,则返回True,但不要改变原来元组的值。同时编写调用这个函数和测试结果的程序。

    1. def f(*t):#用*标识能接收多个参数
    2. if len(t)>len(set(t)):
    3. return True
    4. else:
    5. return False
    6. if f(1,1,2,3):
    7. print("repeat")
    8. else:
    9. print("no repeat")

     

     &:交集  ^:两个集合中不是共同的元素  |:并集

     集合中的方法:

     s.add(x):往集合中添加元素

            注意:空集合的创建不能通过大括号直接创建 

    1. s = set()#空集合不能通过大括号来创建
    2. try:
    3. a = input()
    4. while a != '':
    5. s.add(eval(a))
    6. a = input()
    7. except NameError:
    8. print("请输入数字")
    9. print(s)

    s.clear():清空集合的元素

  • 相关阅读:
    C++:类的默认成员函数------构造函数&&析构函数(超详细解析,小白一看就懂!)
    淘宝购物车分页方案研究
    2023/10/4 QT实现TCP服务器客户端搭建
    spark知识点总结(1)
    计算机毕业设计(附源码)python在线影视购票系统
    Python多进程
    TRex学习之旅四
    安卓(Android)面试题库(含答案)
    Excelize 开源基础发布 2.8.1 版本,2024 年首个更新
    大数据Flink(八十九):Temporal Join(快照 Join)
  • 原文地址:https://blog.csdn.net/m0_56501550/article/details/128167795