表(List) |
表是 Python 程序里使用最多的一种复合数据类型。可以直接在程序里写出各种各样的表,也可以通过操作构造出各种所需的表。 直接构造表的形式是写一对方括号,里面列出一些逗号分隔的表达式。这样一段代码就是描述了(其计算的结果就是)一个表。一个表里可以包含不同类型的元素。例如可以写: a = ['PKU', 'Math', 2013, 7 * 24]a 的值就是一个包含 4 个元素的表,前两个元素是字符串,后两个是整数。表描述里的表达式将在建立表的时候求值,以求出的值作为实际的表元素。 与字符串一样,表里的每个元素有一个下标,从 0 开始计数。也可以用 a[0],a[2],a[-1] 的形式取得表的元素,用 a[1:3],a[2:],a[:3] 的形式得到表的切片。 空表是不包含任何元素的表,b = [ ] 给变量 b 赋值一个空表。空表的长度为 0。 表的一些操作(假定 a 的值是一个表,m 和 n 是合适的整数)
>>> a = [1, 2, 3, 4, 5] >>> b = a >>> b [1, 2, 3, 4, 5] >>> a[3] = 13 >>> b [1, 2, 3, 13, 5]第二个赋值使 b 约束到 a 的值的那个表对象,也就是说,此后变量 a 和 b 的值是同一个对象。对 a[3] 的赋值修改了那个表对象,所以从 b 也能看到这个修改。 可以利用 range 创建整数的表,例如: >>> list(range(11)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> list(range(3, 13)) [3, 4, 5, 6, 7, 8, 9, 10, 11, 12] >>> list(range(0, 37, 7)) [0, 7, 14, 21, 28, 35]实际上这是在做类型转换:range 生成整数的序列,而后 list 把那个序列转换成一个表。 表的元素也可以是表,形成嵌套的表,例如: >>> c = [1, 2, [3, 4], 5] >>> c [1, 2, [3, 4], 5]更多表操作参看 Python 教程 5.1 节,Python 标准库手册 4.6.4 节。后面还有些介绍。 表和 for 循环表可以作为 for 循环中循环变量取值的来源,例如>>> n = 0 >>> for i in [1, 3, 8, 13, 29, 17] : n += i*i或者: >>> n = 0 >>> a = [1, 3, 8, 13, 29, 17] >>> for i in a : n += i*i只要执行的操作允许,也可以用元素类型不同的表,如 >>> for i in [1, 3, 7, 'list'] : print (i)采用什么样的表结构要看应用的需要。 |
本页及相关页面(除另声明者外)由裘宗燕创建维护,可自由用于各种学习活动。其他使用需得到作者许可。 |