Python系列3-Python列表介绍

2021-03-18  本文已影响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编程:从入门到实践

上一篇下一篇

猜你喜欢

热点阅读