数据结构是计算机存储、组织数据的方式。是指相互之间存在一种或多种特定关系的数据元素的集合,用来存储一组相关数据。
常见数据结构统称为容器,python中三类主要容器分别为序列(列表、元组、字符串)、映射(字典)以及集合(set)。
python中序列可以进行某些特定的操作,包括索引(indexing)、切片(slicing)、加(adding)、乘(multiplying)以及判断元素是否属于序列成员。
列表 list
列表是将由若干数据作为元素,放置在中括号内,元素间以逗号分隔的序列。Python中列表元素可由任意类型的数据构成,同一列表中元素的类型可以不相同,列表中元素可重复。
1. 列表创建
>>> list1 = [1,2,3,4,5]
>>> list2 = ['a','b','c','d']
>>> list3 = ['a',1,'b',2,'c']
#创建空列表
>>>list4 = []
二维列表
>>> list_sample = [[1,2,3,4,5],['a','b','c','d']]
2. 列表访问
列表访问,即对列表索引操作的过程,返回索引位置上的元素。
索引值从0开始,从左向右逐渐变大;从后往前推从-1开始,从右向左逐渐变小。
一维列表的访问
>>> list2 = ['a','b','c','d']
>>> list2[0]
'a'
注:列表索引超出范围会导致出错
>>> list2 = ['a','b','c','d']
>>> list2[4]
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
list2[4]
IndexError: list index out of range
二维列表的访问
>>> list_sample = [[1,2,3,4,5],['a','b','c','d']]
>>> list_sample[0][-1]
5
>>> list_sample[1][2]
'c'
3. 修改元素
列表中通过重新赋值来更改元素的值
>>> lst = [1,2,3,4,5]
>>> lst[-1] = 8
>>> lst
[1,2,3,4,8]
4. 列表切片
列表可使用切片操作来选取指定位置上元素组成新的列表
简单切片方式为 原列表名[start : end]
需要提供开始值 start 和结束值 end 作为切片的开始和结束索引边界
简单切片操作从原列表选取索引位于 [ start , end ) 区间内的元素组成新列表
>>> lst = [1,2,3,4,5]
>>> lst[0:4]
[1,2,3,4]
>>> lst[-4:-2]
[2,3,4]
切片操作可提供一个非零整数作为索引值增长的步长 step 值
原列表名 [ start : end : step ]
>>> n = list(range(10))
>>> n
[0,1,2