Python序列(sequence)是一种可迭代、元素有序、可通过索引访问的容器类型的数据,是Python最核心、最常用的数据结构。collections.namedtuple:命名元组array.array:数值数组
序列中的元素都是有序的,每一个元素都带有序号,这个序号叫作索引。索引有正值索引和负值索引之分。s = [10,20,30,40]s[0] # 正索引:从左到右 0,1,2s[-1] # 负索引,从右到左 -1,-2,-2
我们是通过下标运算符访问序列中的元素的,下标运算符是跟在容器数据后的一对中括号([]),中括号带有参数,对于序列类型的数据,这个参数就是元素的索引序号。>>> a = 'hello'>>> a[0]'h'>>> a[-4]'e'>>>a[4]'o'
序列的切片(Slicing)就是从序列中切分出小的子序列。 语法:[起始:结束:步长],包含起始,不包含结束,步长(默认为1,可负(反向))。s = [1,2,3,4,5]s[1:4] # [2,3,4]s[:3] # [1,2,3],省略了开始索引,默认开始索引是0s[:] # [1,2,3,4,5]省略了开始索引和结束索引,结果就是序列的长度s[::2] # [1,3,5] 隔一个取一个s[::-1] # 反转序列s[1:] # [2,3,4,5]省略了结束索引,默认结束索引是序列的长度
加(+)和乘(*)运算符也可以用于序列中的元素操作。加(+)运算符可以将两个序列连接起来,乘(*)运算符可以将两个序列重复多次。[1,2] + [3,4] # [1,2,3,4][0] * 5 # [0,0,0,0,0]"ab" *3 # "ababab"
成员测试运算符有两个:in和not in,in用于测试是否包含某一个元素,not in 用于测试是否不包含某一个元素。2 in [1,2,3] # True5 not in (2,3) # True
len([1,2,3]) # 3max([1,2,3]) # 3min([1,2,3]) # 1sum([1,2,3]) # 6
for item in [1,2,3]: print(item)
sorted([3,1,2]) # [1,2,3]