python3中包含有4種內建的序列:列表、元組、字串、unicode字串(buffer物件;xrange物件在2中存在,3中好像沒有了)
通用的序列操作
所有的序列型別都可以進行的操作:索引、切片、+拼接、*複製多次、成員資格檢查in/not in、序列長度、查詢最大元素、查詢最小元素(內建函式的功勞)
序列後緊跟乙個方括號,括號中的數字表示元素索引號;正向索引範圍為0--n-1,反向索引範圍為-n -- -1
>>> a="abcdefg"
>>> a[0]
'a'>>> a[-7]
'a'>>> a[6]
'g'>>> a[-1]
'g'
操作跟索引類似,區別是方括號中的索引必須包含至少乙個冒號,冒號左邊表示索引的開始位置,右邊表示結束索引的位置。若開始位置引數預設則表示從序列首開始索引;若結束位置引數預設則表示一直索引到序列尾部;若只有乙個冒號則表示全部索引。
>>> a[1:3]
'bc'
>>> a[:3]
'abc'
>>> a[1:]
'bcdefg'
>>> a[:]
'abcdefg'
第二個冒號後跟步長,這是靈活定義切片的一種方式
>>> a[-1::-1]
'gfedcba'
>>> a[1:7:2]
'bdf'
>>> a[-1:-7:-1]
'gfedcb'
從負步長切片的例子中可以看出,無論是他跟正步長一樣,都是包含開始索引位置上的元素而不包含結束索引位置上的元素。
同型別的序列可以通過加號拼接得到加長的新序列,可以是兩個變數引用之間拼接,也允許變數引用和同型別序列之間的拼接,但是不同型別的序列之間就不允許這種操作。
>>> b="1234567"
>>> a+b
'abcdefg1234567'
>>> a+"fafas"
'abcdefgfafas'
>>> a+[1,2,3]
traceback (most recent call last):
file "", line 1, in typeerror: must be str, not list
用序列乘以乙個整數x會得到乙個新的序列,新序列中原序列會被重複x次。這個性質可以用來快速賦值和初始化
>>> a*4
'abcdefgabcdefgabcdefgabcdefg'
空列表可以用兩個中括號表示。
查詢乙個元素是否在序列中,可以用in/not in 來檢查,返回的結果是布林值
>>> 'a' in a
true
>>> 'b' not in a
false
這個可以通過當前python版本的內建函式len,min,max實現,大小比較是根據字元的ascii值比較的
>>> len(a)
7>>> max(a)
'g'>>> min(a)
'a'>>> min("ad12")
'1'>>> min("aa")
'a'>>> ord("a")
97
Python3 通用序列操作
第乙個原素索引從0開始 numbers 1,2,3,4,5,6,7,8,9 print numbers 1,2,3,4,5,6,7,8,9 numbers 1,2,3,4,5,6,7,8,9,10 print numbers print numbers 7 10 索引10指的是第11個元素,它並不存...
python通用序列操作 python序列的使用
序列之通用操作 pytho中,最基本的資料結構就是序列。什麼是序列 numbers 1,2,3,4,5,6,7,8,9,0 greeting u hello,world names alice tom ben john python內建序列種類 共有6種 列表,元組,字串,unicode字串,buf...
python通用序列操作 序列的幾個通用操作介紹
sequence 是 python 的一種內建型別 built in type 內建型別就是構建在 python interpreter 裡面的型別,幾個基本的 sequence type 比如 list 表 tuple 定值表,或翻譯為元組 range 範圍 可以看作是 python interp...