6.2 列表(list)
首先我们从列表开始,深入地讲解每一种数据结构。列表具有的最显著的特征是:
- 列表中的每一个元素都是可变的;
- 列表中的元素是有序的,也就是说每一个元素都有一个位置;
- 列表可以容纳 Python 中的任何对象。
列表中的元素是可变的,这意味着我们可以在列表中添加、删除和修改元素。
列表中的每一个元素都对应着一个位置,我们通过输入位置而查询该位置所对应的值,试着输入:
Weekday = ['Monday','Tuesday','Wednesday','Thursday','Friday']
print(Weekday[0])
第三个特征是列表可以装入 Python 中所有的对象,看下面的例子就知道了:
all_in_list = [
1, #整数
1.0, #浮点数
'a word', #字符串
print(1), #函数
True, #布尔值
[1,2], #列表中套列表
(1,2), #元组
{'key':'value'} #字典
]
列表的增删改查
对于数据的操作,最常见的是增删改查这四类。从列表的插入方法开始,输入:
fruit = ['pineapple','pear']
fruit.insert(1,'grape')
print(fruit)

在使用 insert 方法的时候,必须指定在列表中要插入新的元素的位置,插入元素的实际位置是在指定位置元素之前的位置,如果指定插入的位置在列表中不存在,实际上也就是超出指定列表长度,那么这个元素一定会被放在列表的最后位置。
另外使用这种方法也可以同样达到“插入”的效果:
fruit[0:0] = ['Orange']
print(fruit)
删除列表中元素的方法是使用 remove():
fruit = ['pinapple','pear','grape']
fruit.remove('grape')
print(fruit)
如果要是想替换修改其中的元素可以这样:
fruit[0] = 'Grapefruit'
删除还有一种方法,那就是使用 del 关键字来声明:
del fruit[0:2]
print(fruit)
列表的索引与字符串的分片十分相似,同样是分正反两种索引方式,只要输入对应的位置就会返回给你在这个位置上的值:

接下来我们用元素周期表来试验一下:
periodic_table = ['H','He','Li','Be','B','C','N','O','F','Ne']
print(periodic_table[0])
print(periodic_table[-2])
print(periodic_table[0:3])
print(periodic_table[-10:-7])
print(periodic_table[-10:])
print(periodic_table[:9])
你会发现列表的索引和字符串是一样的,十分简单对吧?但是如果要是反过来,想要查看某个具体的值所在的位置,就需要用别的方法了,否则就会报错:

报错是因为列表只接受用位置进行索引,但如果数据量很大的话,肯定会记不住什么元素在什么位置,那么有没有一种数据类型可以用人类的方式来进行索引呢?其实这就是字典,我们一起来继续学习。
