Python 数据结构之列表
一、列表是最基本的数据结构
在Python程序中,列表也被称为序列,是Python语言中最基本的一种数据结构,和其他编程语言(C/C++/Java)中的数组类似。序列中的每个元素都分配一个数字,这个数字表示这个元素的位置或索引,第一个索引是0,第二个是1,以此类推。
二、列表的基本用法
列表由一系列按特定顺序排列的元素组成,元素之间可以没有任何关系。使用“[ ]”来表示列表,并用逗号分隔其中的元素。例如下面的代码即为创建了一个简单的列表:
girl = ['美丽', '优雅', '气质', '身材']
print( girl )
在上述代码中,创建一个名为“gril”的列表,在列表中存储了4个元素,执行后会将列表打印出来,如下图:
因为列表是一个有序集合,所以想要访问列表中的任何元素,只需要将元素的位置或索引告诉Python即可。要想访问列表元素,可以指出列表的名称,在指出元素的索引,并将其放在括号中,例如,下面的代码可以从列表gril中提取第一个元素:
girl = ['美丽', '优雅', '气质', '身材']
print( girl [0])
当发出获取列表中某个元素的请求时,Python只会返回该元素,而不包括中括号和引号,上述代码执行后只会输出:
还可以通过序号(序号从0开始)来取出其中的某个元素,比如:
str =[0,1,2,3,4,5,6,7,8,9]
print (str[0:3]) #获取列表第1个到第3个元素
print (str[:]) #获取列表全部元素
print (str[6:]) #获取第7个元素到结尾
print (str[:-3]) #获取第1个到倒数第3个字符之间的元素
print (str[2]) #获取第3个元素
print (str[-1]) #获取倒数第1个元素
print (str[::-1]) #创造一个与原列表相反的列表
print (str[-3:-1]) #获取倒数第3个到倒数第1个元素之间的
print (str[-3:]) #获取倒数第3个至结尾的元素
输出结果是:
2.1 更新(修改)列表中的元素
在Python中创建的大多数列表都是动态的,这表示列表被创建后,将随着程序的运行而发生改变,例如列表元素的增加和减少。
更新列表元素指修改列表中元素的值,修改列表元素的语法与访问列表元的语法类似。需要指定列表名和将要修改的元素的索引,在指定该元素的新值。例如:
girl = ['美丽', '优雅', '气质', '身材']
print( girl )
girl [0] ='可爱'
print( girl )
将“美丽”修改为“可爱”,输出结果是:
2.2 插入新的元素
插入新的元素是指向某个列表中添加新的列表元素。可以使用***insert()***在列表的任何位置添加新的元素,在插入时需要指定元素的索引和值。使用方法insert()的语法格式如下:
list.insert(index, obj)
- obj:将要插入列表中的元素。
- index:元素obj需要插入的索引位置。
方法insert()没有返回值,但会在列表的指定位置插入新的元素。
在“gril”的列表第三个位置,添加元素“温柔”
girl = ['美丽', '优雅', '气质', '身材']
print( girl )
girl.insert(2,'温柔')
print( girl )
2.3 删除列表中的元素
删除列表中的元素指删除某个列表中某个或多个已经存在的列表元素。可以使用del语句或***方法pop()***实现删除功能。
使用del语句:
girl = ['美丽', '优雅', '气质', '身材']
print( girl )
del girl[0]
print( girl )
输出结果,删除了第一个元素:
使用方法pop()删除元素
在Python中,当将某个元素从列表中删除后,有时需要接着使用这个元素的值,可以使用方法pop()删除列表末尾的那个元素,并且能接着用它,使用语法格式如下:
list.pop(obj=list [-1])
- obj:是一个可选参数,表示要从列表中删除的元素的索引。 如果未指定索引,则a.pop()删除并返回列表中的最后一项。 如果传递给pop()方法的索引不在范围内,则会引发IndexError:pop index out of range异常。
girl = ['美丽', '优雅', '气质', '身材']
print( girl )
girl.pop(1)
print( girl )
girl.pop()
print( girl )
输出结果: