美文网首页
Python系列3-Python列表介绍

Python系列3-Python列表介绍

作者: 只是甲 | 来源:发表于2021-03-18 14:05 被阅读0次

    一.列表简单介绍

    1.1 列表是什么

    列表 由一系列按特定顺序排列的元素组成。你可以创建包含字母表中所有字母、数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。鉴于列表通常包含多个元素,给列表指定一个表示复数的名称(如letters 、digits 或names )是个不错的主意。

    在Python中,用方括号([] )来表示列表,并用逗号来分隔其中的元素。

    >>> Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    >>> print(Databases)
    ['Oracle', 'MySQL', 'SQL Server', 'Postgresql', 'DB2']
    

    1.1.1 访问列表元素

    实际应用中,我们一般不会将整个列表都给打印出来,一般是按需取出然后输出给前端。
    此时可以使用列表的方法来访问列表。

    列表索引从0而不是从1开始

    >>> Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    >>>
    >>> print(Databases[1])
    MySQL
    >>> print(Databases[3])
    Postgresql
    >>>
    >>> print(Databases[-1])
    DB2
    

    1.2 修改、添加和删除元素

    2.2.1 修改元素

    修改列表元素直接对列表进行赋值即可

    >>> Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    >>> Databases[4] = 'Redis'
    >>> print(Databases[4])
    Redis
    

    2.2.2 添加元素

    列表添加元素有两种方法
    append方法 -- 在列表末尾添加元素
    insert方法 -- 在列表中添加元素

    代码:

    Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    Databases.append('Redis')
    print(Databases)
    
    Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    Databases.insert(0,'Redis')
    print(Databases)
    

    测试记录:

    >>> Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    >>> Databases.append('Redis')
    >>> print(Databases)
    ['Oracle', 'MySQL', 'SQL Server', 'Postgresql', 'DB2', 'Redis']
    >>>
    >>> Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    >>> Databases.insert(0,'Redis')
    >>> print(Databases)
    ['Redis', 'Oracle', 'MySQL', 'SQL Server', 'Postgresql', 'DB2']
    >>>
    

    2.2.3 删除元素

    删除列表元素的方法有三种
    1.del方法 -- 根据索引值删除元素
    2.pop方法 -- 删除末尾元素
    3.remove方法 -- 根据列表值删除元素

    代码:

    Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    del Databases[0]
    print(Databases)
    
    Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    Databases.pop()
    print(Databases)
    
    Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    Databases.remove('Oracle')
    print(Databases)
    

    测试记录:

    >>> Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    >>> del Databases[0]
    >>> print(Databases)
    ['MySQL', 'SQL Server', 'Postgresql', 'DB2']
    >>>
    >>> Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    >>> Databases.pop()
    'DB2'
    >>> print(Databases)
    ['Oracle', 'MySQL', 'SQL Server', 'Postgresql']
    >>>
    >>>
    >>> Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    >>> Databases.remove('Oracle')
    >>> print(Databases)
    ['MySQL', 'SQL Server', 'Postgresql', 'DB2']
    >>>
    

    1.3 组织列表

    1.sort()
    对列表进行永久性排序

    2.sorted()
    对列表进行临时性排序

    3.reverse()
    倒置打印列表

    4.len()
    确定列表长度

    代码:

    Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    Databases.sort()
    print(Databases)
    
    Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    print(sorted(Databases))
    print(Databases)
    
    Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    Databases.reverse()
    print(Databases)
    
    Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    len(Databases)
    

    测试记录:

    >>> Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    >>> Databases.sort()
    >>> print(Databases)
    ['DB2', 'MySQL', 'Oracle', 'Postgresql', 'SQL Server']
    >>>
    >>>
    >>> Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    >>> print(sorted(Databases))
    ['DB2', 'MySQL', 'Oracle', 'Postgresql', 'SQL Server']
    >>> print(Databases)
    ['Oracle', 'MySQL', 'SQL Server', 'Postgresql', 'DB2']
    >>>
    >>>
    >>> Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    >>> Databases.reverse()
    >>> print(Databases)
    ['DB2', 'Postgresql', 'SQL Server', 'MySQL', 'Oracle']
    >>>
    >>>
    >>> Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    >>> len(Databases)
    5
    >>>
    

    二.操作列表

    2.1 遍历整个列表

    你经常需要遍历列表的所有元素,对每个元素执行相同的操作。例如,在游戏中,可能需要将每个界面元素平移相同的距离;对于包含数字的列表,可能需要对每个元素执行相同的统计运算;在网站中,可能需要显示文章列表中的每个标题。需要对列表中的每个元素都执行相同的操作时,可使用Python中的for 循环。

    假设我们有一个魔术师名单,需要将其中每个魔术师的名字都打印出来。为此,我们可以分别获取名单中的每个名字,但这种做法会导致多个问题。例如,如果名单很长,将包含大量重复的代码。另外,每当名单的长度发生变化时,都必须修改代码。通过使用for 循环,可让Python去处理这些问题。

    测试记录:

    C:\>more E:\python\test2.py
    Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    for database in Databases:
        print(database)
    C:\>python "E:\python\test2.py"
    Oracle
    MySQL
    SQL Server
    Postgresql
    DB2
    

    2.2 列表切片

    列表可以使用切片来访问列表的部分,称之为切片
    测试记录:

    >>> Databases = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    >>> print(Databases[0:3])
    ['Oracle', 'MySQL', 'SQL Server']
    >>> print(Databases[1:3])
    ['MySQL', 'SQL Server']
    >>>
    

    2.3 复制列表

    你经常需要根据既有列表创建全新的列表。下面来介绍复制列表的工作原理,以及复制列表可提供极大帮助的一种情形。

    要复制列表,可创建一个包含整个列表的切片,方法是同时省略起始索引和终止索引([:] )。这让Python创建一个始于第一个元素,终止于最后一个元素的切片,即复制整个列表。

    测试记录:

    >>> DB1 = ['Oracle','MySQL','SQL Server','Postgresql','DB2']
    >>> print(DB1[:])
    ['Oracle', 'MySQL', 'SQL Server', 'Postgresql', 'DB2']
    >>> DB2 = DB1[:]
    >>> print(DB2)
    ['Oracle', 'MySQL', 'SQL Server', 'Postgresql', 'DB2']
    

    参考:

    1.Python编程:从入门到实践

    相关文章

      网友评论

          本文标题:Python系列3-Python列表介绍

          本文链接:https://www.haomeiwen.com/subject/odckfltx.html