3.1 列表是什么(注意[]的表示形式)
举例如下:
food = ['Noodles' , 'rice' , 'fruit' , 'beef']
print(food)
对应输出如下结果:
['Noodles', 'rice', 'fruit', 'beef']
[Finished in 70ms]
3.1.1 访问列表元素
举例如下:
food = ['Noodles' , 'rice' , 'fruit' , 'beef']
print(food[0])
print(food[1])
print(food[2])
print(food[3].title())
print(food[4])
print(food[-0])
print(food[-1])
print(food[-2])
对应输出:
Noodles
rice
fruit
Beef
Traceback (most recent call last):
File "C:\Users\xxy\Desktop\3zhangjie.py", line 6, in <module>
print(food[4])
IndexError: list index out of range
Noodles
beef
fruit
[Finished in 83ms]
要知道列表元素['Noodles' , 'rice' , 'fruit' , 'beef']的值在(print输出)时有一个索引的概念,print中[ ]里面的索引值从左到右在python中规定为0、1、2、3等,它们与列表中的值是一一对应的,所以我们想要列表中的某一个值即可在输出中调用出来,如果列表中没有则会报错IndexError: list index out of range。这里为了好看我采用了第二章所学知识关于python中的“方法”来修改beef的大小写。
索引可以为负数,但是0是固定的。如果为负数则会从列表最后一个元素倒退回来,以此类推。
3.1.2 使用列表中的各个值
假设我们要打印这一句话:you want beef
上案例:
food = ['Noodles' , 'rice' , 'fruit' , 'beef']
first_name = "you"
last_name = "want"
full_name = f"{first_name} {last_name} {food[3]}"
print(full_name)
结果如下:
you want beef
[Finished in 70ms]
这里用到第二章f字符串的概念
3.2 修改、添加、删除元素
3.2.1 修改列表中的元素
假设要修改第三个元素的值为'Chicken'
food = ['Noodles' , 'rice' , 'fruit' , 'beef']
print(food)
food[3] = 'Chicken'
print(food)
结果如下:
['Noodles', 'rice', 'fruit', 'beef']
['Noodles', 'rice', 'fruit', 'Chicken']
[Finished in 72ms]
总结:指定列表名和要修改的元素的索引,并指定该元素的新值。
3.2.2 在列表中添加元素(append方法、insert方法)
1.在列表中添加元素——append方法
2.在列表中插入元素——insert方法(注意使用索引)
#append方法添加元素
food = []
print(food)
food.append("Noodles")
food.append("rice")
food.append("fruit")
food.append("beef")
print(food)
#append方法末尾添加元素
food = ['Noodles' , 'rice' , 'fruit' , 'beef']
print(food)
food.append('Chicken')
print(food)
#insert方法插入元素
food = ['Noodles' , 'rice' , 'fruit' , 'beef']
print(food)
food.insert(0,'Chicken')
print(food)
输出结果如下:
[]
['Noodles', 'rice', 'fruit', 'beef']
['Noodles', 'rice', 'fruit', 'beef']
['Noodles', 'rice', 'fruit', 'beef', 'Chicken']
['Noodles', 'rice', 'fruit', 'beef']
['Chicken', 'Noodles', 'rice', 'fruit', 'beef']
[Finished in 69ms]
3.2.3 从列表中删除元素
1.使用del语句删除元素(注意使用索引)
food = ['Noodles' , 'rice' , 'fruit' , 'beef']
print(food)
del food[0]
del food[2]
print(food)
输出结果如下:
['rice', 'fruit', 'beef']
['rice', 'beef']
[Finished in 83ms]
2.使用方法删除元素——pop() (注意索引应用)
这个pop方法可以理解为弹出列表中的元素,存放在某个变量里面。如果不赋索引值则默认弹出最后一个。
输入:
food = ['Noodles' , 'rice' , 'fruit' , 'beef']
print(food)
popped_food = food.pop()
print(popped_food) #弹出的值
print(food)
输出:
['Noodles', 'rice', 'fruit', 'beef']
beef
['Noodles', 'rice', 'fruit']
[Finished in 73ms]
结合一下第二章所学的知识:
输入:
food = ['Noodles' , 'rice' , 'fruit' , 'beef']
popped_food = food.pop(2)
print(f"you want {popped_food.title()}")
输出:
you want Fruit
[Finished in 69ms]
3.使用方法删除元素——remove() (注意括号里面填写你想指定删除的值)
输入:
food = ['Noodles' , 'rice' , 'fruit' , 'beef']
print(food)
food.remove('beef')
print(food)
输出:
['Noodles', 'rice', 'fruit', 'beef']
['Noodles', 'rice', 'fruit']
[Finished in 68ms]
3.3 组织列表
3.3.1 使用方法对列表永久排序——sort()
输入:
cars = ['subaru' , 'bmw' , 'audi' , 'toyota']
print(cars)
#按字母顺序排列
cars.sort()
print(cars)
#按字母顺序相反的顺序排列
cars.sort(reverse=True)
print(cars)
输出:
['subaru', 'bmw', 'audi', 'toyota']
['audi', 'bmw', 'subaru', 'toyota']
['toyota', 'subaru', 'bmw', 'audi']
[Finished in 69ms]
3.3.2 使用函数 sorted() 对列表临时排序
输入:
cars = ['subaru' , 'bmw' , 'audi' , 'toyota']
print(cars)
print(sorted(cars)) #临时列表
print(cars)
输出:
['subaru', 'bmw', 'audi', 'toyota']
['audi', 'bmw', 'subaru', 'toyota']
['subaru', 'bmw', 'audi', 'toyota']
[Finished in 71ms]
要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted()。
3.3.3 使用方法倒着打印列表——reverse()——属于永久修改——相当于翻转列表
输入:
cars = ['subaru' , 'bmw' , 'audi' , 'toyota']
print(cars)
cars.reverse() #翻转
print(cars)
cars.reverse() #再翻转
print(cars)
输出:
['subaru', 'bmw', 'audi', 'toyota']
['toyota', 'audi', 'bmw', 'subaru']
['subaru', 'bmw', 'audi', 'toyota']
[Finished in 74ms]
3.3.4 使用方法确定列表的长度——len()
输入:
cars = ['subaru' , 'bmw' , 'audi' , 'toyota']
print(len(cars))
输出:
4
[Finished in 73ms]
计算列表元素是从1开始数的这里要与前面列表的概论进行区分
个人小结:使用列表时应当避免的索引错误
1.先采用len()方法对列表的长度有个具体了解
2.再开始用索引,避免使用索引时超出了列表长度
ok啦!今天学习结束,明天继续加油!!!!!
———— 参考书籍Python编程:从入门到实践(第2版)埃里克·马瑟斯/袁国忠译