从C#到Python:1 变量和数据类型
2010-09-30 22:36:50 来源:WEB开发网另外还可以看到,列表是可变的序列,也就是说我们可以在“原地”改变列表上某个位置所存储的对象(的值)。
C#中ArrayList支持的多数操作(如追加、插入、删除、清空、排序、反转、计数等),Python中的list也都支持,同时list也支持“切片”这种操作。切片指的是抽取序列的一部分,其形式为:list[start:end:step]。其抽取规则是:从 start开始,每次加上step,直到end为止。默认的step为1;当start 没有给出时,默认从list 的第一个元素开始;当end=-1 时表示list 的最后一个元素,依此类推。一些简单的例子见下边代码:
1 # -*- coding: utf-8 -*-
2 test = ['never', 1, 2, 'yes', 1, 'no', 'maybe']
3 print test[0:3] # 包括test[0],不包括test[3]
4 print test[0:6:2] # 包括test[0],不包括test[6],而且步长为2
5 print test[:-1] # 包括开始,不包括最后一个
6 print test[-3:] # 抽取最后3 个
字符串、列表、元组都支持切片操作,这个很方便,应该学会熟练使用它。
最后,list是Python中最基础的数据结构,你可以把它当作链表、堆栈或队列来使用,效率还不错。Python中没有固定长度数组,如果你确实很在意性能,可以导入array模块来创建一个C风格的数组,它的效率很高,这里就不详细介绍了。
1.3.1.3 元组(tuple)
元组与列表非常相似,它是用()而不是[]括起来的序列。元组比列表的速度更快,但元组是一个不可变的序列,也就是与str一样,无法在原位改变它的值。除此之外,其他属性与列表基本一致。
元组定义的方法与列表类似,不过在定义只包含一个元素的元组时,注意在后边加一个逗号。请体会以下几句语句的差异:
更多精彩
赞助商链接