• python学习笔记:python序列


    python序列包括字符串、列表和元组三部分,下面先总的说一下python序列共有的一些操作符和内建函数。

    一、python序列

    序列类型操作符

    标准类型的操作符一般都能适用于所有的序列类型,这里说一下序列类型操作符。

    1. 成员关系操作符(in、not in)

    成员关系操作符是用来判断一个元素是否属于一个序列的。具体语法:

    对象 [not] in 序列
    

    2. 连接操作符(+)

    这个操作符允许我们把一个序列和另一个相同类型的序列做连接,具体语法:

    sequence1 +sequence2
    

    3. 重复操作符(*)

    产生一个序列的多份拷贝,具体的语法:

    sequence * copies_int
    

    4. 切片操作符

    序列类型是其元素被顺序放置的一种数据结构类型,这种方式允许通过指定下标的方式来获得某一个数据元素,或者通过指定下标范围来获得一组序列的元素。这种访问序列的方式叫做切片。具体的语法是:

    sequence[starting_index:ending_index:step]
    

    起始索引和结束索引都是可选的,如果没有提供或者用None作为索引,切片操作会从序列的最开始处开始,或者直到序列的最末尾结束。

    对于正索引:0 <= index <= len(sequence) - 1

    对于负索引:-len(sequence) <= index <= -1

    正负索引的区别在于正索引以序列的开始为起点,负索引以序列的结束为起点。

    5. 用步长索引来进行扩展的切片操作

    s = 'abcdef'
    s[::-1] #可以视作“翻转”操作
    s[::2]  #隔一个取一个的操作
    

    6. 切片索引的更多内容

    打印一个字符串金字塔,字符个数依次减少一个,例如字符串s=‘abcde’

    >>> s = 'abcde'
    >>> for i in range(len(s), 0, -1):
    ...     print s[:i]
    ...
    abcde
    abcd
    abc
    ab
    a
    

    如果使用负索引的话,可能会产生这样的情况:

    >>> s = 'abcde'
    >>> i = -1
    >>> for i in range(-1, -len(s), -1):
    ...     print s[:i]
    ...
    abcd
    abc
    ab
    a
    

    这样使得不能够第一遍打印全部的字符串。解决的办法就是,利用None作为索引,表示字符串的开头或者结尾。

    >>> s = 'abcde'
    >>> i = -1;
    >>> for i in [None] + range(-1, -len(s), -1):
    ...     print s[:i]
    ...
    abcde
    abcd
    abc
    ab
    a
    

    序列类型内建函数

    类型转换函数

    list(iter):把可迭代对象转换为列表。

    str(obj):把obj对象转换成字符串(对象的字符串表示法)。

    unicode(obj):把对象转换成Unicode字符串。

    tuple():把一个可迭代的对象转换成元组对象。

    可操作函数

    enumerate(iter):接受一个可迭代对象作为参数,返回一个enumerate对象,该对象生成由iter每个元素的index值和item值组成的元组。

    len(seq):返回seq的长度。

    max或者min:返回iter中的最大值,如果指定的key,那么key必须是一个可以传递给sort()方法的参数,用于比较的回调函数。

    reversed(seq):反转一个序列。

    sorted():接受一个可迭代的对象,返回一个有序的列表。

    sum()和zip()函数。


    补充:

    在这里补充一些range函数的使用方法: 

    range[start, stop, step]产生一系列标准整形,返回[start, start+step, start+2*step,...]。

    如果step>0,则一直到最大的start+i*step,但不能超过stop上线。

    如果step<0,则一直到最小的start+i*step,但不能小于stop的值。

  • 相关阅读:
    闭包Closures
    jsp中的四种对象作用域
    JFrame小练习1
    swift函数的用法,及其嵌套实例
    图的储存
    洛谷P3366 【模板】最小生成树(Kruskal && Prim)
    洛谷P3371 【模板】单源最短路径(弱化版)(SPFA解法)
    POJ 1577 Falling Leaves
    POJ 3784 Running Median
    洛谷P3374 【模板】树状数组 1
  • 原文地址:https://www.cnblogs.com/stemon/p/5269569.html
Copyright © 2020-2023  润新知