第三章 列表

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


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

  1. 在列表末尾添加元素,使用方法.append()
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
motorcycles.append('gg')
print(motorcycles)
motorcycles=[]
motorcycles.append('dd')
print(motorcycles)
  1. 在列表中插入元素,使用方法.insert()
    需要指定新元素的索引和值
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
motorcycles.insert(1,'gg')
print(motorcycles)

3.2.3 从列表中删除元素

  1. 使用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)
  1. 弹出列表中任何位置处的元素
motorcycles=['honda','yamaha','suzuki']
print(motorcycles)
message=motorcycles.pop(0)#从列表弹出第一个值,将其储存到变量message中
print(motorcycles)
print(message)
  1. 根据值删除元素,使用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']

动手试一试

小结

  • 列表是什么及如何使用里面的元素
  • 如何定义列表以及如何增删元素
  • 如何对列表进行永久性排序
  • 如何对列表进行临时排序
  • 如何确定列表长度
  • 使用列表时如何避免索引错误
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值