列表是在一个地方存储成组的信息,其中可以只包含几个元素也可以包含数百万个元素
3.1 列表
- 列表由一系列按特定顺序排列的元素组成
- 用【】表示列表,并用逗号分割其中的元素
3.1.1 访问列表元素
- 列表是有序集合,要访问列表的任何元素,只要给元素的位置即可
- 若元素为字符串,可以直接调用字符串的方法
a=['ade','bcd','efg','hij']
print(a[0])
print(a[0].title())
3.1.2 索引从0而不是1开始
- 第一个列表元素的索引为0,而不是1
- 最后一个位置的索引为-1,倒数元素可以依次从-1索引
a=['ade','bcd','efg','hij']
print(a[1])
print(a[-1])
3.1.3 使用列表中各个值
- 拼接列表的值创建消息
a=['ade','bcd','birthday','hij']
print("this is my "+a[2].title()+" cake.")
3.2 修改、添加和删除元素
3.2.1 修改列表元素
- 直接对应索引位置赋值
a=['ade','bcd','cde','edf']
a[1]='abc'
print(a)
3.2.2 添加列表元素
- 在列表末尾添加元素:append()
a=['ade','bcd','cde','edf']
a.append('yur')
print(a)
直接创建空列表,再用append()添加元素
a=[]
a.append('abc')
a.append('bcd')
a.append('def')
print(a)
- 在列表的任何位置添加元素:insert()
a=['abc','bcd','def']
a.insert(1,'cde')
print(a)
3.2.3 删除列表元素
- 按对应位置删除元素:del()
使用del语句将值从列表中删除后,就无法再访问了
a=['abc','bcd','def']
del a[1]
print(a)
- 删除列表末尾的元素:pop()
列表就像一个栈,删除列表末尾的元素相当于弹出栈顶元素
a=['abc','bcd','def']
b=a.pop()
print(b)
使用pop(索引)弹出任意位置的元素
a=['abc','bcd','def']
b=a.pop(1)
print(b)
注意:使用del表示不再使用该元素,使用pop后续还能继续使用该元素。
- 按值删除元素:remove()
remove()只删除第一个制定的值
a=['abc','bcd','def']
a.remove('abc')
print(a)
3.3 对列表元素排序
3.3.1 永久性排序:sort()
逆序: sort(reverse=True)
字母从小到大,数字从小到大
a=['bc','zbcd','aef']
a.sort()
print(a)
a.sort(reverse=True)
print(a)
3.3.2 临时性排序:sorted()
逆序:sorted(reverse=True)
这个排序可以按特定顺序显示列表元素,同时不影响它们在列表中的原始排序顺序
a="a d b r e"
print(a)
print(sorted(a))
3.3.3 倒着打印列表reverse()
reverse()永久性底修改列表元素的排列顺序,但可随时恢复到原来的排列顺序,再次调用reverse()即可
a=['bmw','audi','toyota','subaru']
a.reverse()
print(a)
3.3.4 确定列表的长度len()
a=['bmw','audi','toyota','subaru']
print(len(a))
3.4 使用列表时避免索引错误
- 一共包含三个元素,却要获取第四个元素
- 当列表元素为空时,访问最后一个元素会导致错误