列表是一个很重要的章节内容,其实在 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
- 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"添加到了列表的末尾,没有出现错误。
来源: http://www.cnblogs.com/gengcx/p/6602699.html