• 004 系列:元组,列表和字符串


      Python中内置的系列数据包括:元组(tuple),列表(list),字符串(str)和字节数据(bytes 和bytearray)

    [A] 系列的基本操作

      测试系列长度

        >>>len(obj) # 返回系列obj的长度
    
        >>>max(s) # 返回s系列中最大元素
    
        >>>min(s) # 返回s系列中最小元素
    
        >>>sum(s) # 返回s系列中元素之和

      系列的访问

        >>>s[i] # 访问系列s在i处元素,此处i必须为数值并且为整数
    
        注:此处序列序号为0,1,2,3……n-1 或者 -n…….-3,-2,-1

      系列切片

        通过切片操作,可以截取系列一部分,其具体操作为:

          >>>s[i : j] 或 s[i : k :j] #返回s系列的i到j之间的元素(不包括j),步长为k

        用函数slice切片,具体操作为:

          >>>slice(start, stop, step) # 参数分别表示开始下标,结束下标(不包括)和步长

      系列的连接和重复操作

        序列连接和重复的基本形式有两种:

          用加法进行连接:

            >>>s1+s2 # 将系列s1和系列s2相连

          用乘法进行重复:

            >>>s*n 或 n*s # 将系列s重复n次

      系列的成员操作

          判断元素x是否在系列s之中,

            >>>x in s # 返回逻辑值,若为True则元素x在系列s之中
    
            >>>x not in s # 返回逻辑值,若为True则元素x不在系列s之中
    
            >>>s.count(x,[m,n]) # 返回元素x在指定范围[m,n)中出现的次数
    
            >>>s.index(x,[m,n]) # 返回元素x在指定范围[m,n)中首次出现的下标(原系列之中所在的下标)

      系列的比较运算

        两个系列支持比较运算(<, <=, ==, !=, >=,>),系列将按顺序对元素进行比较。

      内置all()和any()

        利用内置函数all()和any(),可以判断系列的元素是否全部或部分为True。其具体操作为:

          >>>all(s) # 返回逻辑值,若系列s中所有值均为True,则返回True。
    
          >>>any() # 返回逻辑值,若系列s中只要有值为True,则返回True。

      系列拆封

        【a】通过赋值语句可以将系列值进行拆封,将系列中的值赋给多个变量:

          >>>变量1,变量2,。。。,= 系列或可迭代对象

          注:左边变量个数必须等于右边系列中元素的个数

        【b】变量个数和系列长度未知时,可以使用*元组变量进行拆封,但*元组变量只能出现一次:

          >>>first, *middle, last = range(10) # 返回的变量middle为列表,包含八个元素

        【c】如果只需要部分数据,则可以用_占位:

          >>> _, *middle, _ = range(10) # 返回的变量middle为列表,包含八个元素。

    [B] 元组tuple

      元组为不可变对象,不可进行修改,添加,删除其中元素。仅可对其进行访问,其创建格式有四种:

        >>>a = 1, 2,’ds’, 4
    
        >>> a = (1, 2,’ds’, 4)
    
        >>>a = tuple()或a = () # 创建空元组
    
        >>>a = tuple(iterable) # 用迭代器生成元组

      元组的基本操作包括系列的所有基本操作,即5.1节中的所有内容。

    [C] 列表list

        列表(list)是一组包含有序元素的数据结构。列表是可变的系列结构,可以对列表进行访问,修改,删除和添加元素。Python中没有数组,list结构就替代了数组。

      列表定义

        列表的定义有三种方法:

          >>>s = [1,5,4,4,’ds’,…] # 直接赋值,其元素可以为任何类型的格式。
    
          >>>s = list 或 [] # 赋值空列表
    
          >>>s = list(iterable) # 利用迭代器生成列表

      列表基本操作

        改变列表中元素的值:

          >>>s[5] = 14 # 将列表s下标为5(即第6个元素)的元素改为14。
    
          >>>s[2:6] = [10,20,30,40,50] # 系列赋值

        删除列表元素:

          >>>del s[12] # 将列表s中下标为12的元素删除
    
          >>>del s[2:6] # 将列表s中下标从2到6的元素都删除
    
          >>>del s # 删除列表变量s

      列表对象的方法

        >>>s.append(x) # 将对象x添加到列表s 的尾部,此时x可以为任何对象,但是会被当做一个元素附在s尾部
    
        >>>s.clear()  或 del s[:] 或 s = [] # 删除列表s中的所有元素
    
        >>>s.extend(t) # 将系列t添加到s尾部,此时系列t会被先换成list格式(可能包含很多列表格式的元素),再添加到系列s尾部
    
        >>>s.insert(i,x) # 在列表s的下标为i的位置插入对象x, 此时x可以为任何对象,但是会被当做一个元素插入到s中
    
        >>>a = s.pop(i) # 移除列表s中下标为i的元素,并将这个被移除的元素返回给a。若i省略,则移除列表最后一个元素
    
        >>>s.remove(x) # 移除列表s中第一次出现的元素x,若找不到元素x,则报错
    
        >>>s.reverse() # 列表反转,即[1,2,3]——>[3,2,1]
    
        >>>s.sort() # 列表排序,从小到大

      列表解析表达式

        列表解析表达式可以高效的处理一个迭代对象,并生成一个结果列表。其表达式有两种:

          [expression  for i in系列1  for j in 系列2 ……]

            # 迭代所有内容并返回一个列表

          [expression  for i in系列1  for j in系列2 ……if  condition_expression]

            # 按条件迭代所有内容并返回一个列表

      列表作为队列和栈

        None

  • 相关阅读:
    存储器
    存储器
    存储器
    计算机组成原理目录
    锁原理
    锁原理
    并发编程
    Java 算法
    Java 数据结构
    Java数据结构
  • 原文地址:https://www.cnblogs.com/carreyBlog/p/16337089.html
Copyright © 2020-2023  润新知