零基础学Python(第2版)
上QQ阅读APP看书,第一时间看更新

4.2.2 列表的使用

列表的使用与元组十分相似,同样支持负数索引、分片以及多元列表等特性,但是列表中的元素可修改,而且存在一些处理列表的方法。下面【例4-5】的代码说明了负数索引和分片的使用以及二元列表的遍历。

【例4-5.py】


01     list = ["apple", "banana", "grape", "orange"]     # 定义list列表
02     print (list[-2])                                          # 分片,输出倒数第二个元素
03     print (list[1:3])                                         # 分片,输出第2个和第3个元素
04     print (list[-3:-1])                                  # 分片,输出倒数第3个和倒数第2个
05     list = [["apple", "banana"],["grape", "orange"],["watermelon"],["grapefruit"]]
                                                            # 定义list列表
06     for i in range(len(list)):                            # 遍历列表
07         print ("list[%d] :" % i, end=' ')
08         for j in range(len(list[i])):
09             print (list[i][j], end=' ')
10         print()

【代码说明】

·第2行代码输出结果:


grape

·第3行代码输出结果:


['banana', 'grape']

·第4行代码输出结果:


['banana', 'grape']

·第6行到第10行代码遍历二元列表,输出list列表中各元素的值。list列表中,各子列表的长度并不相同,这并不妨碍list列表的遍历。list列表的输出结果如下:


list[0] :  apple  banana
list[1] :  grape  orange
list[2] :  watermelon
list[3] :  grapefruit

列表实现了连接操作的功能,列表的连接同样提供了两种方式,一种是调用extend()连接两个不同的列表,另一种是使用运算符“+”或“+=”。下面【例4-6】这段代码演示了列表的连接功能。

【例4-6.py】


01     list1 = ["apple", "banana"]     # 定义list1列表
02     list2 = ["grape", "orange"]     # 定义list2列表
03     list1.extend(list2)               # list1连接list2
04     print (list1)
05     list3 = ["watermelon"]
06     list1 = list1 + list3             # 将list1与list3连接后赋给list1
07     print (list1)
08     list1 += ["grapefruit"]          # 使用+=给list1连接上["grapefruit"]
09     print (list1)
10     list1 = ["apple", "banana"] * 2
11     print (list1)

【代码说明】

·第3行代码调用extend(),输出结果:


['apple', 'banana', 'grape', 'orange']

·第6行代码使用“+”运算符连接两个列表,输出结果:


['apple', 'banana', 'grape', 'orange', 'watermelon']

·第8行代码使用“+=”运算符,输出结果:


['apple', 'banana', 'grape', 'orange', 'watermelon', 'grapefruit']

·第10行代码使用“*”运算符,连接了两个相同的['apple','banana']元组,输出结果:


['apple', 'banana', 'apple', 'banana']