python 列表的中括号[]与冒号:的作用
中括号[ ]:用于定义列表或引用列表、数组、字符串及元组中元素位置
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7 ]
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]
冒号: 用于定义分片、步长。
a[ : n]表示从第0个元素到第n个元素(不包括n),a[1: ] 表示该列表中的第1个元素到最后一个元素。
list1[:3:2],tul1[3:6:2](注意3:6是索引第3至5,不包含6)
L[2] 读取列表中第三个元素,也即第2个元素
L[-2] 读取列表中倒数第二个元素
L[1:] 从第二个元素开始截取列表
list1 = [1,2,3,4,5] print list1 print list1[:-1]
输出结果:
[1, 2, 3, 4, 5] [1, 2, 3, 4]
python 创建二维列表
list_2d = [[0 for col in range(cols)] for row in range(rows)]
实例:
>>> list_2d = [ [0 for i in range(5)] for i in range(4)] >>> list_2d[0].append(3) >>> list_2d[0].append(5) >>> list_2d[2].append(7) >>> list_2d 结果为[[0, 0, 0, 0, 0, 3, 5], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 7], [0, 0, 0, 0, 0]]
列表里 a 与 a[:] 不同。
通过函数 id() 来查看:
a = [1, 2, 3] id(a) id(a[:])
会发现得到的两个值不同。
或者直接运行:
a is a[:]
返回值将是:False。
简单来说,a[:] 是创建 a 的一个副本,这样在代码中对 a[:] 进行操作,就不会改变 a 的值。而若直接对 a 进行操作,那么 a 的值会受到操作的影响,如 append() 等。
range() 函数可创建一个整数列表,一般用在 for 循环中。
函数语法
range(start, stop[, step])
参数说明:
>>> range(100,19,-5) 结果:[100, 95, 90, 85, 80, 75, 70, 65, 60, 55, 50, 45, 40, 35, 30, 25, 20]
xrange() 函数用法与 range 完全相同,所不同的是生成的不是一个数组,而是一个生成器。