列表

🐷列表由一系列按特定顺序排列的元素组成。其中的元素之间可以没有任何关系。

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

下面这个列表包含几种自行车:

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

 

此时打印结果包括方括号:

['trek','cannondale','redline','specialized']

 

鉴于这不是你要让用户看到的输出,下面我们来看如何访问列表元素。


 

🐷访问列表元素,只需将该元素的位置或索引告诉Python即可,可指出列表的名称,再指出元素的索引,并将其放在方括号内。

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

 

2处演示了访问列表元素的语法。此时Python只返回该元素,而不包括方括号和引号:

trek

 

这正是你要让用户看到的结果——整洁、干净的输出

在Python中,第一个列表元素的索引为0,而不是1。第二个列表元素的索引为1。根据这种简单的计数方式,要访问列表的任何元素,都可以将其位置减1,并将结果作为索引。

下面的代码访问索引1和3处的自行车:

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

这些代码返回列表中的第二个和第四个元素:

cannondale
specialized

 

Python为访问最后一个列表元素提供了一种特殊语法。通过将索引值指定为-1,可让Python返回最后一个列表元素。这种约定也适用于其他负数索引,例如,索引-2返回倒数第二个列表元素,索引-3返回倒数第三个列表元素,以此类推。


 

可以像适用其他变量一样适用列表中的各个值。例如,你可以根据列表中的值使用拼接来创建消息

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

 

我们的打印结果是:

My first bicycle was a Trek.

 


🐷 修改列表元素

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

假如有一个摩托车列表,其中第一个元素为'honda'。接下来,我们将第一个元素的值改为'ducati'。

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

 

输出结果是:

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

 


🐷在列表中添加元素

1.在列表末尾添加元素。在列表中添加新元素时,最简单的方式是将元素附加到列表末尾。

1 motorcycles=['honda','yamaha','suzuki']
2 print(motorcycles)
3 motorcycles.append('ducati')
4 print(motorcycles)

 

3行使用方法append()将元素'ducati'添加到了列表末尾,输出结果如下:

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

 

(而用使用append()的方法创建列表的方式很常见,因为经常要等程序运行后,你才知道用户要在程序中存储哪些数据。即为控制用户,你可以先创建一个空列表,用于存储用户将要输入的值,然后将用户提供的每个新值附加到列表中。)

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

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

 

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

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

 


 

🐷从列表中删除元素

你经常需要从列表中删除一个或多个元素。例如,玩家将空中的外星人射杀后,你很可能要将其从存活的外星人列表中删除;当用户在你创建的Web应用中注销其账户时,你需要将该用户从活跃用户列表中删除。

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

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

 

结果是del语句删除了motorcycles中的第一个元素——'honda'

2.使用方法pop()删除元素。有时候,你要将元素从列表中删除,并接着使用它的值。例如,你可能需要获取刚被猎杀的外星人的x和y坐标,以便在相应的位置显示爆炸效果;在Web应用程序中,你可能要将用户从活跃成员列表中删除,并将其加入到非活跃成员列表中。

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

 

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

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

 

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

注意:每当你使用pop()时,被弹出的元素就不在列表中了。

4.根据值删除元素。有时候,你不知道要从列表中删除的值所处的位置,如果你只知道要删除的元素的值,可使用方法remove()。

motorcycles=
['honda','yamaha','sukuzi','ducati']
['honda','yamaha','sukuzi']
A Ducati is too expensive for me.

 

print(motorcycles)
too_expensive='ducati'
motorcycles.remove(too_expensive)
print(motorcycles)
print('\nA '+too_expensive.title()+' is too expensive for me.')

 

输出为:

['honda','yamaha','sukuzi','ducati']
['honda','yamaha','sukuzi']
A Ducati is too expensive for me.

 

Tip:方法remove()只删除第一个指定的值,如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。

 

 

 

 

 

posted @ 2019-04-22 10:21  Sanguinet  阅读(92)  评论(0编辑  收藏  举报