Python系列3-Python列表介绍
一.列表简单介绍
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编程:从入门到实践