第三章 列表简介

列表简介

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 在列表中添加元素

  1. 列表末尾添加元素,使用 append() 方法
motorcycles = []
motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('suzuki')
print(motorcycles)  #输出 ['honda', 'yamaha', 'suzuki']
  1. 在任意位置添加元素,使用 insert() 方法
motorcycles = ['honda', 'yamaha', 'suzuki']
motorcycles.insert(0,'ducati') # insert()有两个参数,第一个是待插入下标,第二个是待插入元素
print(motorcycles) #待插入元素插入下标位置,其余元素右移,输出 ['ducati', 'honda', 'yamaha', 'suzuki']

3.2.3 从列表中删除元素

  1. 使用del语句删除元素 (根据下标删除)
motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)  #输出 ['honda', 'yamaha', 'suzuki']
#用下标索引的方法,删除第一个元素
del motorcycles[0]
print(motorcycles) #输出 ['yamaha', 'suzuki']

del motorcycles #列表被完全删除,无法再用该变量访问
  1. 使用方法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']
  1. 使用方法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 小结

上一篇:python编程(从入门到实践)3章


下一篇:20201224-1