python入门——列表(list)

本文深入讲解Python中列表的创建、访问、修改、添加、删除等基本操作,以及如何对列表进行排序和反转,适合初学者快速掌握列表的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

荒废了好久,说实话,我是真的不擅长写东西,今天复习一下列表
列表 由一系列按特定顺序排列的元素组成。列表可以包含几乎所有数据类型,之前学过的字符串和数字都可以出现在列表,在Python中,用方括号([] )来表示列表,并用逗号来分隔其中的元素。

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

Python将打印列表的内部表示,包括方括号:

[‘trek’, ‘cannondale’, ‘redline’, ‘specialized’]

列表是有序集合,因此要访问列表的任何元素,只需将该元素的位置或索引告诉Python即可。要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。

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

Python只返回该元素,而不包括方括号和引号:(索引从0而不是1开始)
trek
Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1,可让Python返回最后一个列表元素:

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

这些代码返回’specialized’

修改、添加和删除元素

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

motorcycles[0] = 'ducati'
print(motorcycles)

我们首先定义一个摩托车列表,其中的第一个元素为’honda’ 。接下来,我们将第一个元素的值改为’ducati’ 。输出表明,第一个元素的值确实变了,但其他列表元素的值没变:

['honda', 'yamaha', 'suzuki']
['ducati', 'yamaha', 'suzuki']

在列表中添加新元素时,最简单的方式是将元素附加到列表末尾。继续使用前一个示例中的列表,在其末尾添加新元素’ducati’ :

motorcycles = ['honda', 'yamaha', 'suzuki']
print(motorcycles)
motorcycles.append('ducati')
print(motorcycles)

方法append() 将元素’ducati’ 添加到了列表末尾

['honda', 'yamaha', 'suzuki']
['honda', 'yamaha', 'suzuki', 'ducati']

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

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

motorcycles.insert(0, 'ducati')
print(motorcycles)

在这个示例中,值’ducati’ 被插入到了列表开头;方法insert() 在索引0 处添加空间,并将值’ducati’ 存储到这个地方。这种操作将列表中既有的每个元素都右移一个位置:

['ducati', 'honda', 'yamaha', 'suzuki']

从列表中删除元素

如果知道要删除的元素在列表中的位置,可使用del 语句。

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

del motorcycles[0]
print(motorcycles)

del 删除了列表motorcycles 中的第一个元素——‘honda’ :

['honda', 'yamaha', 'suzuki']
['yamaha', 'suzuki']

方法pop() 可删除列表末尾的元素,并让你能够接着使用它。术语弹出 (pop)源自这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。下面从列表motorcycles 中弹出一款摩托车:

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

popped_motorcycle = motorcycles.pop()
print(motorcycles)
print(popped_motorcycle)

输出表明,列表末尾的值’suzuki’ 已删除,它现在存储在变量popped_motorcycle 中:

['honda', 'yamaha', 'suzuki']
['honda', 'yamaha']
suzuki

实际上,你可以使用pop() 来删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引即可。

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

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

输出是一个简单的句子,描述了我购买的第一辆摩托车:

The first motorcycle I owned was a Honda.

根据值删除元素
有时候,你不知道要从列表中删除的值所处的位置。如果你只知道要删除的元素的值,可使用方法remove() 。例如,假设我们要从列表motorcycles 中删除值’ducati’ 。

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

motorcycles.remove('ducati')
print(motorcycles)

Python确定’ducati’ 出现在列表的什么地方,并将该元素删除:

['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki']

使用remove() 从列表中删除元素时,也可接着使用它的值。下面删除值’ducati’ ,并打印一条消息,指出要将其从列表中删除的原因:

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

too_expensive = 'ducati'
motorcycles.remove(too_expensive)
print(motorcycles)
print("\nA " + too_expensive.title() + " is too expensive for me.")
['honda', 'yamaha', 'suzuki', 'ducati']
['honda', 'yamaha', 'suzuki']
A Ducati is too expensive for me.

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

Python方法sort() 让你能够较为轻松地对列表进行排序。假设你有一个汽车列表,并要让其中的汽车按字母顺序排列。为简化这项任务,我们假设该列表中的所有值都是小写的。

cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort()
print(cars)

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

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

还可以按与字母顺序相反的顺序排列列表元素,为此,只需向sort() 方法传递参数reverse=True 。下面的示例将汽车列表按与字母顺序相反的顺序排列:

cars = ['bmw', 'audi', 'toyota', 'subaru']
cars.sort(reverse=True)
print(cars)

同样,对列表元素排列顺序的修改是永久性的:

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

使用函数sorted() 对列表进行临时排序
函数sorted() 让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。

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

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)

我们首先按原始顺序打印列表(见❶),再按字母顺序显示该列表(见❷)。以特定顺序显示列表后,我们进行核实,确认列表元素的排列顺序与以前相同。

Here is the original list:
['bmw', 'audi', 'toyota', 'subaru']

Here is the sorted list:
['audi', 'bmw', 'subaru', 'toyota']

Here is the original list again:
['bmw', 'audi', 'toyota', 'subaru']

倒着打印列表

要反转列表元素的排列顺序,可使用方法reverse() 。假设汽车列表是按购买时间排列的,可轻松地按相反的顺序排列其中的汽车:

cars = ['bmw', 'audi', 'toyota', 'subaru']
print(cars)

cars.reverse()
print(cars)

reverse() 不是指按与字母顺序相反的顺序排列列表元素,而只是反转列表元素的排列顺序:

['bmw', 'audi', 'toyota', 'subaru']
['subaru', 'toyota', 'audi', 'bmw']
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值