>>> 'Happy '+'new year!' 'Happy new year!' >>> [2]+[3]*2 [2, 3, 3] >>>
seq[i]
提取序列中下标为i的元素。此处的下标与C语言类似,第一个元素下标为0,第二个元素下标为1,以此类推。Python中另外有倒数第一个元素下标为-1,倒数第二个元素下标为-2,等等。
如果下标越界,则会产生错误
特别地,字符串内的元素是只读的,类似'hello'[0]=0的语句会产生错误
>>> 'hello'[1] 'e' >>> a=[1,2,3,4,4] >>> a[4]=5 >>> a [1, 2, 3, 4, 5] >>>
seq[begin:end]
截取(slice)序列中从begin(含)到end(不含)处的元素。(使用过C++的标准库的朋友应该熟悉这种规定,即begin为截取部分的首下标,end为尾后下标。)
该运算不会产生下标越界错误,而是可能返回空序列(空字符串''或空列表[])
该运算返回原序列的一个拷贝,即把截取部分赋值给其他变量,则通过新变量对新序列的修改不会影响原序列的内容
可以通过省略begin和/或end来隐式指定开头和结尾(示例第7行)
可以通过对该表达式的赋值更改原序列的内容(示例第7行)
1 >>> a 2 [2, 3, 4] 3 >>> a=[1,2,3,4,5] 4 >>> b=a[1:3] 5 >>> b 6 [2, 3] 7 >>> b[:]=[] 8 >>> b 9 [] 10 >>> a 11 [1, 2, 3, 4, 5] 12 >>>
除了上述运算符外,一个经常用到的内置函数len(seq)可以计算字符串或列表的长度。