python3中通用的序列操作

2021-08-23 12:41:48 字數 1730 閱讀 9100

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...