• Python基础03 序列


    在Python中,最基本的数据结构为序列(sequence)。

    序列中的每个元素都有编号,即其位置或索引,其中第一个元素的索引为0,第二个元素的索引为1,依此类推。

    用负索引表示序列末尾位置的位置。如-1表示最后一个元素,-2表示倒数第二个元素。

    我们先了解下序列的概述,然后再了解下适用于所有序列(包括列表和元组)的操作。

    一、序列概述

    Python内置了多种序列,其中最长用的两种是:列表和元组。另一种重要的序列是字符串。

    列表和元组的主要不同在于,列表是可以修改的,而元组不可以。

    在需要处理一系列值时,序列很有用。例如

    mike = ['Mike', 40]  # 分别表示一个人的姓名和年龄

    序列还可包含其他序列:

    john = ['John', 38]

    all = [mike, john]

    二、通用的序列操作

    有几种操作适用于所有序列,包括索引、切片、相加、相乘和成员资格检查。

    1、索引

    序列中的所有元素都有编号--从0开始递增。可像下面这样使用编号来访问各个元素:

    >>> greeting = 'Hello'
    >>> greeting[0]
    'H'

    这称为索引。这种索引方式适用于所有序列。

    当使用负数索引时,Python将从右(即从最后一个元素)开始向左数,因此-1是最后一个元素的位置。

    >>> greeting[-1]
    'o'

    2、切片

    >>> str = 'This is my first python program'
    >>> str[5:18]
    'is my first p'
    >>> str[18:-2]
    'ython progr'

    切片适用于提取序列的一部分。

    第一个索引是包含的第一个元素的编号,但并不包含第二个索引所在位置的元素。

    如果要从列表末尾开始数,可使用负数索引。

    >>> str[-3:-1]
    'ra'

    如果切片结束于序列末尾,可省略第二个索引。

    >>> str[-7:]
    'program'

    如果切片始于序列开头,可省略第一个索引。

    >>> str[:4]
    'This'

    如果要复制整个序列,可将两个索引都省略。

    >>> str[:]
    'This is my first python program'

    执行切片操作时,也可以指定步长参数,默认为1。步长可正(从左向右提取元素)可负(从右向左提取元素)。

    >>> str[5:18:2]
    'i yfrtp'
    >>> str[18:5:-2]
    'y si ms'

    3、序列相加

    可使用加法运算符来拼接序列。

    >>> [1, 2, 3] + [4, 5, 6]
    [1, 2, 3, 4, 5, 6]
    >>> ['Hello, '] + ['Python!']
    ['Hello, ', 'Python!']

    4、序列乘法

    将序列与数x相乘时,将重复这个序列x次来创建一个新序列:

    >>> 'python|' * 5
    'python|python|python|python|python|'
    >>> [10] * 5
    [10, 10, 10, 10, 10]

    5、成员资格

    要检查特定的值是否包含在序列中,可使用运算符in。

    满足时返回True,不满足时返回False。

    >>> str = 'This is my first python program'
    >>> 'm' in str
    True
    >>> 'my' in str
    True
    >>> users = ['Mike', 'John']
    >>> 'Mike' in users
    True

    6、内置函数

    内置函数len、min和max很有用。

    len返回序列包含的元素个数。

    min返回序列中最小的元素。

    max返回序列中最大的元素。

    >>> numbers = [10, 20, 30]
    >>> len(numbers)
    3
    >>> max(numbers)
    30
    >>> min(numbers)
    10
  • 相关阅读:
    CentOS Python 安装MySQL-python
    Ubuntu64位安装Adobe Reader 9.5.5
    Codeforces Round #316 (Div. 2) (ABC题)
    cocos2dx 3.2+ 项目创建与问题总汇
    Mongodb的索引
    uva 12083 Guardian of Decency (二分图匹配)
    Linux查看内存使用量和交换区使用量
    053第423题
    [Python]xlrd 读取excel 日期类型2种方式
    求解组合问题的一个迭代算法
  • 原文地址:https://www.cnblogs.com/mazhiyong/p/12404433.html
Copyright © 2020-2023  润新知