列表简介
3.1 列表是什么
列表:由一系列按特定顺序排列的元素组成,用方括号([ ])表示,用逗号分隔其中的元素
#这是一个列表
bicycles = ['trek', 'cannodale', 'redline', 'specialized']
3.1.1 访问列表元素
访问列表元素,只需该元素的下标索引即可
bicycles = ['trek', 'cannodale', 'redline', 'specialized']
print(bicycles[0]) #输出 trek
3.1.2 索引从0而不是1开始
bicycles | ‘trek’ | ‘cannodale’ | ‘redline’ | ‘specialized’ |
---|---|---|---|---|
下标1 | 0 | 1 | 2 | 3 |
下标2 | -4 | -3 | -2 | -1 |
索引下标的表示有两种方法,从左往右是0 -> 1 -> 2………
从右往左是-1 -> -2 -> -3………
3.1.3 使用列表中的各个值
从列表中提取一款自行车
bicycles = ['trek', 'cannodale', 'redline', 'specialized']
print(f"My first bicycle was a {bicycles[0].title()}.") #输出 My first bicycle was a Trek.
3.2 修改、添加和删除元素
列表是动态的,可以进行修改、添加和删除元素操作
3.2.1 修改列表元素
利用元素的下标索引直接修改
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles) #输出 ['honda', 'yamaha', 'suzuki']
motorcycles[0] = 'ducati'
print(motorcycles) #输出 ['ducati', 'yamaha', 'suzuki']
3.2.2 在列表中添加元素
- 列表末尾添加元素,使用 append() 方法
motorcycles = []
motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('suzuki')
print(motorcycles) #输出 ['honda', 'yamaha', 'suzuki']
- 在任意位置添加元素,使用 insert() 方法
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(0,'ducati') # insert()有两个参数,第一个是待插入下标,第二个是待插入元素
print(motorcycles) #待插入元素插入下标位置,其余元素右移,输出 ['ducati', 'honda', 'yamaha', 'suzuki']
3.2.3 从列表中删除元素
- 使用del语句删除元素 (根据下标删除)
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles) #输出 ['honda', 'yamaha', 'suzuki']
#用下标索引的方法,删除第一个元素
del motorcycles[0]
print(motorcycles) #输出 ['yamaha', 'suzuki']
del motorcycles #列表被完全删除,无法再用该变量访问
- 使用方法pop()删除元素
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles) #输出 ['honda', 'yamaha', 'suzuki']
last_owned = motorcycles.pop() #没有参数,弹出列表最后一个元素,并将该元素从原列表中删除
print(last_owned) #输出 suzuki
print(motorcycles) #输出 ['honda', 'yamaha']
first_woned = motorcycles.pop(0) #参数为下标,弹出下标对应的元素,并将该元素从原列表中删除
print(first_woned) #输出 honda
print(motorcycles) #输出 ['yamaha']
- 使用方法remove()删除元素 (根据值删除)
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles) #输出 ['honda', 'yamaha', 'suzuki']
motorcycles.remove('yamaha') #参数为待删除元素值
print(motorcycles) #输出 ['honda', 'suzuki']
3.3 组织列表
3.3.1 使用方法sort()对列表永久排序
永久性修改原列表的顺序
a = [1, 6, 4, 2, 3, 9]
print(a) #输出 [1, 6, 4, 2, 3, 9]
a.sort()
print(a) #输出 [1, 2, 3, 4, 6, 9]
3.3.2使用函数sorted()对列表临时排序
保留原列表的顺序
a = [1, 6, 4, 2, 3, 9]
print(a) #输出 [1, 6, 4, 2, 3, 9]
print(sorted(a)) #输出 [1, 2, 3, 4, 6, 9]
print(a) #输出 [1, 6, 4, 2, 3, 9]
3.3.3倒着打印列表
使用方法reverse(),永久性修改,反转列表元素的排列顺序
a = [1, 6, 4, 2, 3, 9]
print(a) #输出 [1, 6, 4, 2, 3, 9]
a.reverse()
print(a) #输出 [9, 3, 2, 4, 6, 1]
3.3.4 确定列表元素的长度
用函数 len()
motorcycles = ['honda', 'yamaha', 'suzuki']
print(len(motorcycles)) #输出 3
3.4 使用列表时避免索引错误
索引下标越界将会引发错误
3.5 小结
略