提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
3.1 列表是什么
列表是由一系列按特定顺序排列的元素组成。可以将任何东西加入列表中,其中的元素之间可以没有任何关系,由于列表中通常包含多个元素,可以给列表一个表示复数的名称(names)
在python中,用方括号[]来表示列表,用逗号来分割其中的元素
bicycles=['trek','cannondale','redline','specialized']
print(bicycles)
3.1.1 访问列表元素
列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉python即可
bicycles=['trek','cannondale','redline','specialized']
print(bicycles[0].title())
3.1.2 索引从0而不是1开始
3.1.3 使用列表的各个值
可以使用拼接根据列表中的值来创建消息。
bicycles=['trek','cannondale','redline','specialized']
print(f"My first bicycle is {bicycles[0].title()}")
bicycles=['trek','cannondale','redline','specialized']
print("My first bicycle is "+ bicycles[0].title())
3.2修改,添加和删除元素
3.2.1 修改列表元素
修改列表元素的语法与访问列表元素的语法类似。要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
motorcycles[0]='gg'
print(motorcycles)
3.2.2在列表中添加元素
- 在列表末尾添加元素,使用方法.append()
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
motorcycles.append('gg')
print(motorcycles)
motorcycles=[]
motorcycles.append('dd')
print(motorcycles)
- 在列表中插入元素,使用方法.insert()
需要指定新元素的索引和值
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
motorcycles.insert(1,'gg')
print(motorcycles)
3.2.3 从列表中删除元素
- 使用del语句删除元素
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
**del motorcycles[2]**
print(motorcycles)
使用del删除了最后一个元素
2. 使用pop()删除元素
有时候,你要将元素从列表中删除,并接着使用它的值。
方法pop()可删除列表末尾的元素,并让你可以接着使用它
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
message=motorcycles.pop()#从列表弹出一个值,将其储存到变量message中
print(motorcycles)
print(message)
- 弹出列表中任何位置处的元素
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
message=motorcycles.pop(0)#从列表弹出第一个值,将其储存到变量message中
print(motorcycles)
print(message)
- 根据值删除元素,使用remove
不知道位置,只知道要删除的值是什么
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
motorcycles.remove('yamaha')#让程序确定该元素出现在列表的什么地方并删除
print(motorcycles)
删除值yamaha,并打印一条消息,指出删除的原因
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
too_expensive='yamaha'
motorcycles.remove(too_expensive)
print(f"\nA {too_expensive.title()}is too expensive for me")
注意:方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值,第七章
动手试一试
3-4 创建一个列表,包含三个人,并邀请来共进晚餐
peoples=['huang','weng','hu']
for people in peoples:
print(f"{people.title()}共进晚餐")
3-5 修改嘉宾名单
在3-4的基础上,在程序末尾添加一条print语句,指出哪位嘉宾无法赴约
peoples=['huang','weng','hu']
print(peoples)
无法赴约='hu'
print(f"{无法赴约}无法赴约")
修改嘉宾名单,将无法赴约的嘉宾的姓名替换为新邀请的嘉宾的名字
peoples=['huang','weng','hu']
print(peoples)
peoples[2]='ye'
print(peoples)
3-6 添加嘉宾
peoples=['huang','weng','hu']
print(peoples)
peoples.append('ye')
print(peoples)
添加到第一位
peoples=['huang','weng','hu']
print(peoples)
peoples.insert(0,'ye')
print(peoples)
peoples=['huang','weng','hu']
print(peoples)
sorry_1=peoples.pop()
print(f"im sorry to {sorry_1.title()}")
3.3 组织列表
元素的排列顺序常常是无法预测的,因为你并非总能控制用户提供数据的顺序。这虽然在大多数情况下都是不可避免的,但你经常需要以特定的顺序呈现信息,python提供了很多组织列表的方式。
3.3.1 使用方法sort()对列表进行永久性排序
cars=['audi','bmw','subaru','toyota']
cars.sort()
print(cars)
还可以按与字母顺序相反的顺序排列列表元素,只需向sort()方法传递参数reverse=Ture.
cars=['audi','bmw','subaru','toyota']
cars.sort(reverse=True)
print(cars)
永久性的改变
3.3.2 使用函数sorted()对列表进行临时排序
要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted()。能让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。
cars=['audi','bmw','subaru','toyota']
print("here is the original list:")
print(cars)
print("\nhere is the sorted list:")
print(sorted(cars))
print("\nhere is the original list again:")
print(cars)
函数sorted(),不是方法
方法和函数不一样
3.3.3 倒着打印列表
反转列表元素,可使用方法reverse(),永久性的
3.3.4确定列表的长度函数len()
cars=['audi','bmw','subaru','toyota']
动手试一试
小结
- 列表是什么及如何使用里面的元素
- 如何定义列表以及如何增删元素
- 如何对列表进行永久性排序
- 如何对列表进行临时排序
- 如何确定列表长度
- 使用列表时如何避免索引错误