第3章 列表简介

3.1 列表是什么

在Python中,用方括号( [ ] )来表示列表,并用逗号 ( , ) 来分隔其中的元素。

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles)
['trek', 'cannondale', 'redline', 'specialized']

3.1.1 访问列表元素

列表是有序集合,要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可。

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[0])
trek

可以使用方法title( )让元素 ‘trek’ 的格式更整洁

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[0].title())
Trek

3.1.2 索引从 0 而不是 1 开始

在Python中,第一个列表元素的索引是 0,而不是 1

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[1].title())
print(bicycles[3].title())
Cannondale
Specialized

在Python中,为了访问最后一个列表元素提供了一种特殊语法。通过将索引指定为 -1

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
print(bicycles[-1].title())
Specialized

3.1.3 使用列表中各个值

bicycles = ['trek', 'cannondale', 'redline', 'specialized']
message = "My first bicycles was a " + bicycles[0].title()+ "."
print(message)
My first bicycles was a Trek.

3.2 修改、添加和删除元素

3.2.1 修改列表元素

要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值

motorcycles = ['honda', 'yamaha', 'suzuki']
print("修改前:", motorcycles)

motorcycles[0] = 'ducati'
print("修改后:", motorcycles)
修改前: ['honda', 'yamaha', 'suzuki']
修改后: ['ducati', 'yamaha', 'suzuki']

3.2.2 在列表中添加元素

1.在列表末尾添加元素

方法 append() 将元素添加到列表的 末尾

motorcycles = ['honda', 'yamaha', 'suzuki']
print("修改前:", motorcycles)

motorcycles.append('ducati')
print("修改后:", motorcycles)
修改前: ['honda', 'yamaha', 'suzuki']
修改后: ['honda', 'yamaha', 'suzuki', 'ducati']

在Python中,可以先创建一个 空列表,再使用 append( ) 方法添加元素

motorcycles = [ ]

motorcycles.append('honda')
motorcycles.append('yamaha')
motorcycles.append('suzuki')

print(motorcycles)
['honda', 'yamaha', 'suzuki']

2.在列表中插入元素

使用方法 insert( ) 可以在列表的任何位置添加新元素,为此,需要指定新元素的索引和值

motorcycles = ['honda', 'yamaha', 'suzuki']
print("插入前:", motorcycles)

motorcycles.insert(0, 'ducati')
print("插入后:", motorcycles)
插入前: ['honda', 'yamaha', 'suzuki']
插入后: ['ducati', 'honda', 'yamaha', 'suzuki']

3.2.3 从列表中删除元素

1.使用del语句删除元素

使用 del 可以删除任何位置的列表元素,条件是知道其索引

motorcycles = ['honda', 'yamaha', 'suzuki']
print("删除前:", motorcycles)

del motorcycles[0]
print("删除后:", motorcycles)
删除前: ['honda', 'yamaha', 'suzuki']
删除后: ['yamaha', 'suzuki']
motorcycles = ['honda', 'yamaha', 'suzuki']
print("删除前:", motorcycles)

del motorcycles[1]
print("删除后:", motorcycles)
删除前: ['honda', 'yamaha', 'suzuki']
删除后: ['honda', 'suzuki']

2.使用方法pop( )删除元素

方法 pop( ) 可以删除列表末尾的元素,并能够接着使用

motorcycles = ['honda', 'yamaha', 'suzuki']
print("删除前的列表:", motorcycles)

poped_motorcycles = motorcycles.pop()
print("删除后的列表:", motorcycles)
print("被删除的元素:", poped_motorcycles)
删除前的列表: ['honda', 'yamaha', 'suzuki']
删除后的列表: ['honda', 'yamaha']
被删除的元素: suzuki
motorcycles = ['honda', 'yamaha', 'suzuki']
last_owned = motorcycles.pop()

print("The last motorcycles I owner was a " + last_owned.title() + ".")
The last motorcycles I owner was a Suzuki.

3.弹出列表中任何位置处的元素

可以使用 pop( ) 来删除列表中任何位置的元素,需指定要删除的元素的索引即可

motorcycles = ['honda', 'yamaha', 'suzuki']

first_owned = motorcycles.pop(0)
print("The first motorcycles I owned was a " + first_owned.title() + ".")
The first motorcycles I owned was a Honda.

4.根据值删除元素

使用方法 remove( ) ,可以删除知道的元素值

motorcycles = ['honda', 'yamaha', 'ducati', 'suzuki']
print("删除前:", motorcycles)

motorcycles.remove('ducati')
print("删除后:", motorcycles)
删除前: ['honda', 'yamaha', 'ducati', 'suzuki']
删除后: ['honda', 'yamaha', 'suzuki']

使用 remove( ) 从列表中删除元素时,也可以接着使用它的值

motorcycles = ['honda', 'yamaha', 'ducati', 'suzuki']
print("删除前:", motorcycles)

too_expensive = 'ducati'
motorcycles.remove(too_expensive)
print("删除后:", motorcycles)
print("\nA " + too_expensive.title() + " is too expensive for me.")
删除前: ['honda', 'yamaha', 'ducati', 'suzuki']
删除后: ['honda', 'yamaha', 'suzuki']

A Ducati is too expensive for me.

3.3 组织列表

3.3.1 使用方法sort( )对列表进行永久性排序

Python方法 sort( ) 永久性地修改了列表元素的排列顺序,按字母顺序排序的,再也无法恢复到原来的排列顺序

cars = ['bmw', 'audi', 'toyota', 'subaru']
print("排序前:", cars)

cars.sort()
print("排序后:", cars)
排序前: ['bmw', 'audi', 'toyota', 'subaru']
排序后: ['audi', 'bmw', 'subaru', 'toyota']

还可以按与字母顺序相反的顺序排列列表元素,只需向 sort( ) 方法传递参数reverse = True

cars = ['bmw', 'audi', 'toyota', 'subaru']
print("排序前:", cars)

cars.sort(reverse = True)
print("排序后:", cars)
排序前: ['bmw', 'audi', 'toyota', 'subaru']
排序后: ['toyota', 'subaru', 'bmw', 'audi']

3.3.2 使用函数sorted( )对列表进行临时排序

要保留列表元素原来的排列顺序,同时以特定的顺序呈现新的排序,可使用用函数sorted( )

cars = ['bmw', 'audi', 'toyota', 'subaru']

print("这是原始列表:", cars)
print("这是排序列表:", sorted(cars))
print("这又是原始列表:", cars)
这是原始列表: ['bmw', 'audi', 'toyota', 'subaru']
这是排序列表: ['audi', 'bmw', 'subaru', 'toyota']
这又是原始列表: ['bmw', 'audi', 'toyota', 'subaru']

3.3.3 倒着打印列表

方法 reverse( ) 可以反转列表元素的排列顺序,不是与字母顺序相反的顺序排列列表元素。同时方法reverse( )永久性地修改列表元素的排列顺序,但可以随时恢复到原来的排列顺序

cars = ['bmw', 'audi', 'toyota', 'subaru']
print("反转前:", cars)

cars.reverse()
print("反转后:", cars)
反转前: ['bmw', 'audi', 'toyota', 'subaru']
反转后: ['subaru', 'toyota', 'audi', 'bmw']

3.3.4 确定列表的长度

cars = ['bmw', 'audi', 'toyota', 'subaru']
len(cars)
4
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值