序列的通用操作
python包含6中內建的序列:列表、元組、字串、unicode字串、buffer物件和xrange物件序列的索引及運算
對列表的索引
>>> a=[1,2,3,4,5]
>>> a[1]
2
對字串的索引
>>> m='hello'
>>> m[1]
'e'
對元組的索引
>>> a=(1,2,3,4)
>>> a[1]
2
加法運算:使用加法運算,可以將序列連線起來。
對列表的連線
>>> [1,2,3,4]+[5,6,7]
[1, 2, 3, 4, 5, 6, 7]
對字串的連線
>>>
'hello'+' '+'world'
'hello world'
對元組的連線
>>> a=(1,2,3,4)
>>> b=(5,6,7,8)
>>> a+b
(1, 2, 3, 4, 5, 6, 7, 8)
但,如果採用兩種不同型別的序列相加,如列表與字串相加,則不可以。
>>> [1,2,3,4]+'hello'
traceback (most recent call last):
file "", line
1, in
[1,2,3,4]+'hello'
typeerror: can only concatenate list (not
"str") to list
乘法運算:該操作,會產生新的序列。
列表的乘法
>>> b=[1,2]
>>> b*5
[1, 2, 1, 2, 1, 2, 1, 2, 1, 2]
字串的乘法
>>>
'hello'*3
'hellohellohello'
元組的乘法
>>> a=(1,2,3,4)
>>> a*2
(1, 2, 3, 4, 1, 2, 3, 4)
如果,要初始化乙個空的列表,但是又有元素數量限制怎麼辦?如初始化乙個包含10個元素的列表。
none,是python的內建值,所表示的含義是,這裡沒有東西沒有任何東西。可採用如下方法:
>>> sequence=[none]*4
>>> sequence
[none, none, none, none]
但是,對產生乙個新有限大小的元組根本沒有任何意義,因為元組的不可更改特性,即使產生了也不能夠更改序列的切片方法
下述的切片方法,以列表為例
>>> num=[1,2,3,4,5,6,7,8,9,10]
>>> num[1:5]
[2, 3, 4, 5]
從上述操作可以看,切片的操作可以看做是數學上的取一子集。而索引號可以看做是子集的上下限。那麼上述的操作可以用如下的數學符號表示:
[a,b)若要取最後乙個元素,可以採用如下索引號
b+1
>>> num
[-4:]
[7, 8, 9, 10]
倒序切片,是將元素在列表的從右往左索取。此處,採用數學的語言方法表示是
(a,b]
>>> number=[1,2,3,4,5,6,7,8,9,10]
>>> number[0:10:2]
[1, 3, 5, 7, 9]
上述採用步進方式進行切片,用數學語言表示,則可表示為
munber[a:b:step]在範圍 [a,b]之間按照步進的間隔取值。而且顯示結果也是順序顯示。
對於步進值為負數,則按照倒敘顯示。如下:
>>> number
[10:2:-2]
[10, 8, 6, 4]
對於上述的寫法,需要注意的是,如果採用負值步進,那麼索引號也應該從高值到低值的順序寫,否則則會產生空的列表。
>>> number
[0:10:-2]
不過如此也不失為產生乙個空的列表方法。但是應該很浪費記憶體吧。執行速度也慢了。 序列通用操作及可變序列通用操作
以下部分擷取自雨辰的教學 天下為公 print range 5 print list range 5 print x print name names tom jerry mike peter john scores 99 88 76.3 90.5 77 print mike in names 判定...
通用序列操作
python中序列通用的操作,這些操作在列表和元組中都會用到,包括索引 分片 序列相加 乘法 成員資格 長度 最小值和最大值。1.索引 序列中每個元素都分配乙個數字,代表它在序列中的位置 索引 第乙個索引是0,第二個索引是1,以此類推。也可以從右開始索引,最右邊的索引值位 1,從右向左遞減。a he...
序列的通用操作
1.list 函式 print list abd 字串轉列表 print list 1 aaa 哈哈 元組轉列表 print list range 0,6 range 轉列表2.判斷元素是否在序列內 in not in a list range 0,6 b tom zhangsan 馬大哈 prin...