python基础03序列

sequence 序列


sequence序列是一组有顺序的元素的集合

(严格的说,是对象的集合,但鉴于没有引入对象的概念,暂时说元素)

序列可以包含一个或多个元素,也可以没有任何元素

我们之前所说的基本数据类型,都可以作为序列的元素。元素还可以是另一个序列,以及我们以后的其他对象。

序列有两种:tuple(定值表:也叫元组);和list(列表)

s1 = (2,1.3,'love',5.6,9,False)  #是一个tuple
s2 = [True,5,'smile']  #是一个list

print (s1,type(s1))

([True, 5, 'smile'], <type 'tuple'>)

print (s2,type(s2))

([True, 5, 'smile'], <type 'list'>)

tuple和list的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更。

一个序列作为另一个序列的元素

s3 = [1,[3,4,5]]

空序列

s4 = []

元素的引用


序列元素的下标从0开始:

print (s1[01])

1.3

print (s2[2])

smile

print (s1[1][2])

v

由于list的元素可更变,你可以对list进行赋值

s2[1] = 3.0

print (s2)

以上输出

3.0

如果你对tuple做这样的操作,会得到错误提示。

所以,可以看到,序列的引用通过s[int]实现,int为下标。

其他引用方式(切片)


范围引用:基本样式[下限:上限:步长]

print (s1[:5])  #从开始到下标4(下标5的元素不在内)

(2, 1.3, 'love', 5.6, 9)

print (s1[2:])  #从下标2到最后

('love', 5.6, 9, 12, False)

print (s1[0:5:2])  #从下标0到下标4(下标5不包括),每个2取元素()

(2, 'love', 9)

print (s1[2:0:-1])  #从下标2到下标1

('love', 1.3)

从上可以看出,在范围引用的时候,如果写明上限,那么这个上限本身不包括在内。

尾部元素引用

print (s1[-1])  #序列最后一个元素

print (s1[-3])  #序列倒数第三个元素

字符串是元组


字符串是特殊的元组,因此可以执行元组的相关操作。

str = 'abcdef'

print (str(2:4))

'cd'

总结


tuple元素不可变,list元素可变

序列的引用 s[2],s[1:8:2]

字符串是一种tuple

上一篇:HTML5 Canvas ( 文字的书写和样式控制 ) font, fillText, strokeText


下一篇:好程序员分享Web前端面试题汇总JS篇之跨域问题