Edit
笔记内容:Python3 列表
笔记日期:2017-10-25
Python3 列表
访问列表中的值
更新列表
删除列表元素
列表脚本操作符
二维列表
Python列表函数&方法
Python3 列表
列表是Python中最基本的数据结构,也是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表中的每个元素都分配一个数字 - 那就是它的下标,或者说索引,第一个索引是永远是从0开始,第二个索引是1,依此类推。列表也被称之为序列,和数组的概念有点像,只不过一个列表中可以放不同类型的数据,类似于Java中的Object集合,所以列表的数据项不需要具有相同的类型,并且列表的大小可以自动伸缩,这一点和集合的概念一样的。
创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。代码示例:
list1 = ['Google', 'Runoob', 1997, 2000]; list2 = [1, 2, 3, 4, 5 ]; list3 = ["a", "b", "c", "d"];
与字符串的索引一样,列表索引从0开始。列表可以进行截取、组合等。
访问列表中的值
使用下标索引来访问列表中的值,同样的你也可以使用方括号的形式截取列表中的元素,代码示例:
list1 = ['hello', 'world', 123, 456] list2 = [1, 2, 3, 4, 5, 6, 7, 8, 9] print("list1的第0个下标值是:", list1[0]) print("list2下标0-5以内的值是:", list2[0:5])
运行结果:
list1的第0个下标值是: hello
list2下标0-5以内的值是: [1, 2, 3, 4, 5]
更新列表
你可以对列表的数据项进行修改或更新,所谓更新就是重新对这个列表中的某个下标赋值,重新赋值后会覆盖原来的值,代码示例:
list1 = ['hello', 'world', 123, 456] print("list1的第0个下标值为:", list1[0]) list1[0]="你好" print("更新之后list1的第0个下标值为:", list1[0])
运行结果:
list1的第0个下标值为: hello
更新之后list1的第0个下标值为: 你好
删除列表元素
可以使用 del 语句来删除列表的的元素,代码示例:
list1 = ['hello', 'world', 123, 456] print("现在list1中的有元素有:",list1) del list1[1] print("删除第1个元素后有:",list1)
运行结果:
现在list1中的有元素有: [‘你好’, ‘world’, 123, 456]
删除第1个元素后有: [‘你好’, 123, 456]
列表脚本操作符
列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。
如下所示:
列表截取与拼接代码示例:
list1 = ['hello', 'world', 123, 456] #截取 print(list1[2]) print(list1[-2]) print(list1[1:]) 运行结果: 456 123 [123, 456] #拼接,只能在python控制台中使用 >>> list1 = ['hello', 'world', 123, 456] >>> list1+[1, 2, 3, 4, 5, 6, 7, 8, 9] ['hello', 'world', 123, 456, 1, 2, 3, 4, 5, 6, 7, 8, 9]
二维列表
二维列表即是列表中还有列表,使用二维列表即在列表里创建其它列表,下面示例两种常用的二维列表声明方式,代码示例:
list1 = ['hello', 'world', 123, 456] list2 = [1, 2, 3, 4, 5, 6, 7, 8, 9] list3 = [list1, list2] print(list3) list4 = [['hello', 'world', 123, 456],[1, 2, 3, 4, 5, 6, 7, 8, 9]] print(list4)
运行结果:
[[‘hello’, ‘world’, 123, 456], [1, 2, 3, 4, 5, 6, 7, 8, 9]]
[[‘hello’, ‘world’, 123, 456], [1, 2, 3, 4, 5, 6, 7, 8, 9]]
二维列表使用的不多,一般大部分用来做2D游戏的地图
Python列表函数&方法
Python包含以下函数:
Python包含以下方法:
下面用实际代码演示几个较为常用的方法,代码示例:
list1 = ['hello', 'world', 123, 456, 123, 'hello'] list2 = [45, 12, 78, 56, 3, 2, 48, 78, 156, 45, 1] list1.append('addObj') print("在末尾添加了一个新的值:", list1) list1.insert(2, 'InsertObj') print("在下标2的位置插入了一个新的值:", list1) print("123这个值的第一个索引位置:", list1.index(123)) list1.remove('hello') print("删除了列表中第一个‘hello’:", list1) list2.sort() print("排序后的list2:", list2) list2.reverse() print("反向排序后的list2:", list2) list3 = list1.copy() print("将list1的数据复制到list3中:", list3) list3.clear() print("清空list3中的数据:", list3)
运行结果:
在末尾添加了一个新的值: [‘hello’, ‘world’, 123, 456, 123, ‘hello’, ‘addObj’]
在下标2的位置插入了一个新的值: [‘hello’, ‘world’, ‘InsertObj’, 123, 456, 123, ‘hello’, ‘addObj’]
123这个值的第一个索引位置: 3
删除了列表中第一个‘hello’: [‘world’, ‘InsertObj’, 123, 456, 123, ‘hello’, ‘addObj’]
排序后的list2: [1, 2, 3, 12, 45, 45, 48, 56, 78, 78, 156]
反向排序后的list2: [156, 78, 78, 56, 48, 45, 45, 12, 3, 2, 1]
将list1的数据复制到list3中: [‘world’, ‘InsertObj’, 123, 456, 123, ‘hello’, ‘addObj’]
清空list3中的数据: []