首页 > 代码库 > 第三章 列表简介

第三章 列表简介

    列表是一个很重要的章节内容,其实在Python中,主要是列表,字典,然后就是函数,类,类都是有各种功能的函数组成,只要掌握了列表、字典的性质,以及方法,然后了解函数的调用原则,参数是如何调用的,打好了这些坚实的基础,后面对自己整个学习历程都大有裨益。

3.1 列表是什么

    列表:由一系列特定顺序排列的元素组成。我们可以创建包含字母表中的所有字母、数字0-9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间没有任何关系。鉴于列表通常包含多个元素,给列表制定一个复数的名称(如names,letters,usres等)是个不错的注意。

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

注意:列表是有顺序的,按照特定顺序排列的,这点一定要牢记,因为只有了解了列表有序的,才能够明白为什么要调用列表中的元素,以及调用的原则。而且这是列表独有的性质。

bicycles.py

bicycles = ["trek","cannodale","redline",‘speciaized‘]
print(bicycles)

results:

[‘trek‘, ‘cannodale‘, ‘redline‘, ‘speciaized‘]

3.1.1 访问列表元素

    列表是有序集合,按照特定顺序排列的元素组成,因此我们要访问列表中的元素,只需要告诉Python该元素的位置或索引。要访问列表元素,可指出列表的名称,再指出元素的索引,并将其放在方括号内。

3.1.2 索引从0而不是从1开始

    在Python中,第一个列表元素的索引为0,而不是1。在大多数编程语言中都是如此,这与列表操作的底层实现相关。如果结果出乎意料,请看看是否犯了简单的差一错误。

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

    Python为访问最后一个列表元素提供了一种特殊语法。通过将索引指定为-1,可让Python返回最后一个列表元素,如bicycles[-1]返回列表最后一个元素“speciaized".

    这种语法很有用,因为我们经常需要在不知道列表长度的情况下访问最后的元素。这种约定也适用于其他负数索引,例如,索引-2返回倒数第二个列表元素,索引-3返回倒数第三个列表元素,以此类推。

3.1.3  使用列表中的各个值

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

    下面来尝试从列表中提取第一款自行车,并使用这个值来创建一条消息:

    bicycles = ["trek","cannodale","redline",‘speciaized‘]
    message = "My first bicycle was a " + bicycles[0].title() + "."
    print(message)

    我们使用bicycles[0]的值生成了一个句子,并将其存储在变量message中。输出是一个简单的句子,其中包含列表中的第一款自行车。

    My first bicycle was a Trek.

动手试一试

    3-1 姓名: 将一些朋友的姓名存储在一个列表中,并将其命名为names。以此访问该列表中的每个元素,从而将每个朋友的姓名都打印出来。

    3-2 问候语: 继续使用练习3-1中的列表,但不打印每个朋友的姓名,而为每个人打印一条消息。每条消息都包含相同的问候语,但抬头为相应朋友的名字。

    3-3 自己的列表: 想想你喜欢的通勤方式,如骑摩托车或开汽车,并创建一个包含多种通勤方式的列表。根据该列表打印一系列有关通勤方式的宣言,如”I would like to own a Honda motorcycle"。

分析:

    3-1 本题的主要目的是遍历列表中的每一个元素,首先定义一个列表,然后以此对每个列表进行遍历

    names = ["tom","zengmignzhu","gengchangxue","dlj"]
   print(names[0])
   print(names[1])
   print(names[2])
   print(names[3])

    首先定义了一个列表,然后以此对列表中的每个元素进行遍历,输出结果如下:

tom
zengmignzhu
gengchangxue
dlj

    从中可以看出列表是有序的,而且一定要牢记,列表的表示方式,列表名加上索引号,在中括号[]里面添加索引号。

    3-2 本题是第一题的提升,也是输出名字,只是要使用拼接合并的功能,目的就是为了锻炼使用拼接合并功能。

 

    names = ["tom","zeng mign zhu","geng chang xue","dlj"]
print(names[0].title() + " is my great firend.")
print(names[1].title() + " is a excellent student.")
print(names[2].title() + " is my girl friend.")
print(names[3].title() + " is my good friend")
结果输出:
Tom is my great firend.
Zeng Mign Zhu is a excellent student.
Geng Chang Xue is my girl friend.
Dlj is my good friend

    3-3 本题也是考察列表的调用方式,字符串的拼接功能

    commuting_modes = ["by car","ride motorcycle","on foot",‘by bus‘]

3.2 修改、添加和删除元素

    我们创建的列表大多数都是动态的,这意味着列表创建后,将随着程序的运行增删元素。例如,我们创建一个游戏,要求玩家射杀从天而降的外星人;为此,可在开始时将一些外星人存储在列表中,然后每当有外星人被射杀时,都将其从列表中删除,而每次有新的外星人出现在屏幕上时,都将其添加到列表中。在整个游戏运行期间,外星人列表的长度将不断变化。

3.2.1 修改列表元素

    修改列表元素的语法与访问列表元素的语法类似。要修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值:

 

motorcycles = [‘honda‘,‘yamha‘,‘suzuki‘]
print(motorcycles)

motorcycles[0] = "ducati"
print(motorcycles)
我们首先定义一个摩托车列表,其中第一个元素为“Honda”。接下来,我们将第一个元素的值改为‘ducati‘。输出结果如下:显示确实改了
[‘honda‘, ‘yamha‘, ‘suzuki‘]
[‘ducati‘, ‘yamha‘, ‘suzuki‘]
我们可以修改列表中任意一个位置的元素,只要我们知道修改的位置以及目的。
3.2.2 在列表中添加元素
我们可能出于应用,在列表中添加新的元素。例如,希望游戏中出现新的外星人,添加可视化数据或给网站添加新注册的用户。Python提供了多种在既
有列表中添加新元素的方法。
1、在列表末尾添加元素
在列表中添加新元素时,最简单的方法是将元素附加到列表的末尾。给列表添加元素时,它将添加到列表末尾。方法append(),在列表末尾添加元素。
方法append():
append(...)
L.append(object) -- append object to end(在列表末尾添加元素)
motorcycles.py
motorcycles = [‘honda‘,‘yamha‘,‘suzuki‘]
motorcycles.append()
print(motorcycles)
motorcycles.append("ducati")
print(motorcycles)
注意:因为也没有实践过append()添加一个空的参数是怎样的,当参数省略的时候程序报错,如下:
Traceback (most recent call last):
  File "/home/zhuzhu/title3/motorcycles.py", line 2, in <module>
    motorcycles.append()
TypeError: append() takes exactly one argument (0 given)
错误的原因是方法append()没有参数,append()方法要有一个参数,但是(0 given)没有给参数,故而系统报错。
当给append()添加参数时如下:
motorcycles = [‘honda‘,‘yamha‘,‘suzuki‘]
#motorcycles.append()
print(motorcycles)
motorcycles.append("ducati")
print(motorcycles)
results:
[‘honda‘, ‘yamha‘, ‘suzuki‘]
[‘honda‘, ‘yamha‘, ‘suzuki‘, ‘ducati‘]
这次,我们将"ducati"添加到了列表的末尾,没有出现错误。



 

 

 

   

 

第三章 列表简介