Python算法详解
上QQ阅读APP看书,第一时间看更新

2.1.1 列表的基本用法

在Python程序中使用中括号“[]”来表示列表,并用逗号分隔其中的元素。例如下面的代码创建了一个简单的列表。

car = ['audi', 'bmw', 'benchi', 'lingzhi']     #创建一个名为car的列表
print(car)                                     #输出列表car中的信息

在上述代码中,创建一个名为“car”的列表,在列表中存储了4个元素,执行后会将列表打印输出,执行结果如图2-1所示。

图2-1 执行结果

1.创建数字列表

在Python程序中,可以使用方法range()创建数字列表。例如在下面的实例文件num.py中,使用方法range()创建了一个包含3个数字的列表。

源码路径:daima\第2章\num.py

numbers = list(range(1,4))  #使用方法range()创建列表
print(numbers)

在上述代码中,一定要注意方法range()的结尾参数是4,才能创建3个列表元素。执行结果如图2-2所示。

图2-2 执行结果

2.访问列表中的值

在Python程序中,因为列表是一个有序集合,所以要想访问列表中的任何元素,只需要将该元素的位置或索引告诉Python即可。要想访问列表元素,可以指出列表的名称,再指出元素的索引,并将其放在方括号内。例如,下面的代码可以从列表car中提取第一款汽车:

car = ['audi', 'bmw', 'benchi', 'lingzhi']
print(car[0])

上述代码演示了访问列表元素的语法。当发出获取列表中某个元素的请求时,Python只会返回该元素,而不包括方括号和引号,上述代码执行后只会输出:

audi

开发者还可以通过方法title()获取任何列表元素,例如获取元素“audi”的代码如下所示。

car = ['audi', 'bmw', 'benchi', 'lingzhi']
print(car[0].title())

上述代码执行后的输出结果与前面的代码相同,只是首字母a变为大写,上述代码执行后只会输出:

Audi

在Python程序中,字符串还可以通过序号(序号从0开始)取出其中的某个字符,例如'abcde.[1]'取得的值是'b'。

再看下面的实例文件fang.py,功能是访问并显示列表中元素的值。

源码路径:daima\第2章\2-1\fang.py

list1 = ['Google', 'baidu', 1997, 2000];     #定义第1个列表“list1”
list2 = [1, 2, 3, 4, 5, 6, 7 ];              #定义第2个列表“list2”
print ("list1[0]: ", list1[0])               #输出列表“list1”中的第1个元素
print ("list2[1:5]: ", list2[1:5])           #输出列表“list2”中的第2~5个元素

在上述代码中,分别定义了两个列表list1和list2,执行结果如图2-3所示。

图2-3 执行结果

在Python程序中,第一个列表元素的索引为0,而不是1。大多数编程语言中的数组也是如此,这与列表操作的底层实现相关。自然而然地,第二个列表元素的索引为1。根据这种简单的计数方式,要访问列表的任何元素,都可将其位置减1,并将结果作为索引。例如要访问列表中的第4个元素,可使用索引3实现。例如,下面的代码演示了显示列表中第2和第4个元素的方法。

car = ['audi', 'bmw', 'benchi', 'lingzhi']   #定义一个拥有4个元素的列表
print(car[1])                                #输出列表中的第2个元素
print(car[3])                                #输出列表中的第4个元素

执行后输出:

bmw
lingzhi