• 【原】Python基础-序列


    1 序列

    在Python中,最基本的数据结构是序列,序列中每个元素被分配一个编号,也称为索引。第一个索引为0,第二个则是1,以此类推。序列中最后一个元素被标为-1,倒数第二个元素被标为-2,以此类推。

    2 Python内建序列

    Python包含6种内建序列,分别是列表,元组,字符串,UNICODE字符串,BUFFER对象和XRANGE对象。开始重点关注列表和元组。

    3 列表和元组(序列)

    列表和元组一个很重要的区别是,列表可以修改,元组则不能被修改。几乎所有情况下列表都可以替代元组,但有一个列外情况,使用元组做为字典的键,在这种情况下,因为键不能被修改,所以不能使用列表。

    4 序列的通用操作

    所有序列类型都可以进行某些特定操作,包括索引,分片,加,乘和检查某个序列是否属于序列成员。另外还有计算序列长度,找出最大元素最小元素的内建函数。

      4.1索引

      序列中所有元素都是有编号的,从0开始递增,这些元素可以通过编号来访问,比如下面的例子

      s = ("xxxxx", "yyyy")

          print(s[0])

      输出是 "xxxxx"

      4.2 分片

      跟索引访问序列中的元素相似,但是用来访问序列中一定范围的元素。分片通过冒号相隔的俩个索引值来实现s[Index1:Index2]。一般通过分片来提取序列中的一部分元素。Index1是需要提取部分的第一个元素的编号,Index2是分片之后剩余部分的第一个元素的编号。也就是在提取的部分中,是不包括序列中索引为Index2的元素的。简而言之,就是第一个索引元素是包含在分片内,第二个索引元素是不包含在分片内的。

      4.3 序列相加

      可以通过加号来实现序列的连接操作。比如俩个字符串相加连接成一个新的字符串。

      4.4 序列乘法

      用数字X乘以一个序列会产生一个新的序列,在新的序列中,原来的序列被重复X次。

      4.5 成员资格

      为了检查一个值是否存在序列中,可以使用in运算符号。这个运算符检查某个条件是否为真,然后返回相应的值。例如

      s = [ ['sysnap', 123], ['huangzheng',246], ['ipi',9999]]
      if ['sysnap',123] in s: print("find it")

      4.6 长度,最大值,最小值

      内建len函数返回序列中所包含元素的数量,min和max函数则分别返回序列中最大和最小的元素。

    5 序列之列表

    列表的内容是可被修改的。可以使用list函数来创建列表,list(ohter s)就可以创建列表了。列表可以使用所有适于序列的标准操作,除此之外,还有其它方法来操作列表

      5.1 列表的基本操作

        5.1.1 删除元素

        从列表中删除元素很容易,使用del语句来实现。

        5.1.2 分片赋值

        使用分片赋值,可以使用与原序列不等长的序列将分片替换,这样通过分片操作也可以实现插入新的元素,删除元素(用空列表替换)

        name = list("Pyxxxx")

        name[2:] = list("thon")

        print(name)

      5.2 列表的方法

      方法是一个于某些对象有紧密联系的函数,对象可以是列表,数字,也可能是字符串等其它类型。一般方法的调用方式为 对象.方法(参数)

        5.2.1 append

        append方法用于在列表末尾追加新的对象。

        5.2.2 count

        统计某个元素在列表中出现的次数

        5.2.3 extend

        用新列表扩展原有的列表,与连接操作的区别在于,extend方法修改了被扩展序列,而连接操作则是反回一个新的序列,比如

        a = [1, 2, 3]

        b = [1, 2, 4]

        a.extend(b)执行之后 a 就变成[1, 2, 3, 1, 2, 4]

        5.2.4 index

        index方法用于从列表中找出某个值第一次匹配的索引未知

        5.2.5 insert

        insert用于将对象插入到列表中指定的位置,跟分片赋值一样,但可读性要高。比如

        s = [1, 2, 3, 4, 5]

        s.insert(3, 'new')

        执行之后,s变为[1, 2, 3, 'new', 4, 5]

        5.2.6 pop

        pop方法用于移除列表中的元素,并返回被移除的元素,默认是移除最后一个元素,也可以移除指定索引的元素。

        5.2.7 remove

        remove方法用于移除列表中跟输入匹配的元素,跟pop的一个区别是输入参数是对象而不是索引,

        5.2.8 reverse

        reverse方法将列表中的元素反向存放,但不返回值

    6 序列之元组

    元组可以认为是不可变的序列,元组大多时候是通过()园括号括起来的。关于元组有一个注意的地方是,请看下面例子

    3*(10+2)这是一个数学表达式,输出结果是36,

    3*(10+2,)输出结果却是(12,12,12)

      6.1 tuple函数

      以一个序列作为参数把它转为元组

      6.2 元组基本操作

      除了创建元组和访问元组元素外,没有太多操做,基本用的是序列支持的标准操作。

  • 相关阅读:
    单行文本溢出、多文本溢出
    移动端 顶部、底部和内容之间的小技巧 用flex布局来解决
    图片移动端高清适配问题 image-set 属性和@medie标签
    学习HTML5一周的收获2
    redis实操-sentinel
    spring 循环依赖的一次 理解
    (一)python 格式化 excel 格式
    (一) BIO,NIO, 阻塞,非阻塞,你懂了吗
    设计模式八 适配器模式
    2018年下半年小目标
  • 原文地址:https://www.cnblogs.com/sysnap/p/3427607.html
Copyright © 2020-2023  润新知