python3 組合型別(二)序列型別及操作

2021-08-19 08:26:22 字數 1524 閱讀 2304

1.序列型別(字串、元組、列表)

序列是一維元素向量,元素型別可以不同;元素可以重複,具有先後關係(因此,可以通過序號訪問元素)。

序列型別屬於基類型別,即序列的特點或操作符,字串、元組、列表通用。

2.序列處理函式及方法

x in s :判斷元素x是否在序列s中;

s+t:連線兩個序列,同型別相加,如列表+列表;

s*n:將s序列複製n次;

s[i]:索引,返回s序列的第i個元素;

s[i:j]或s[i:j:k]:切片,返回序列s中第i個元素到第j個元素以k為步長的子串行

s='pioper'

>>> s[1::2]

'ipr'

>>> 'p' in s

true

>>> s*2

'pioperpioper'

>>> t=s[::-1]

>>> s+t

'pioperrepoip'

>>> s[0]

'p'

序列通用函式:

len(s):s序列的長度;

max(s)/min(s):序列s的最大/最小元素;

s.index(x,i,j):在序列s中的第i個元素到第j個元素中第一次出現x元素的位置

s.count(x):序列s中出現x的總次數

>>> s.index('p',3)  #s同上

3>>> s.index('p')

0>>> max(s)

'r'>>> min(s)

'e'>>> s.count('p')

2

3.元組型別及操作

一旦建立,不能修改;有先後順序;用()(括號也可省略)或tuple()函式建立,元素間用逗號分隔;元素可以重複;元素型別可以不同。

4.列表型別及操作

建立後可以被修改;有先後順序;用或list()函式建立,元素間用逗號隔開;元素可以重複;元素型別可以不同。

>>> s=['a','c','d',12]

>>> s[1:2]=[1,2,3,4] #替換列表s中1到2位置處的元素

>>> s

['a', 1, 2, 3, 4, 'd', 12]

>>> del s[::3] #刪除元素

>>> s

[1, 2, 4, 'd']

>>> s

[1, 2, 4, 'd', 1234]

>>> s.insert(2,'a')#在列表2位置插入元素

>>> s

[1, 2, 'a', 4, 'd', 1234]

>>> s.reverse()#將列表s反轉

>>> s

[1234, 'd', 4, 'a', 2, 1]

5.序列應用

1)資料表示:用元組和列表去表示一組有序資料

2)元素遍歷: 如 for i in s:             #s為序列

3)資料保護:將資料型別設定為元組型別,即tuple(s)

python3 序列切片

格式 切片使用兩個冒號分隔的3個數字來完成。第乙個數字表示切片開始位置 預設為0 第二個數字表示切片截止 但不包含 位置 預設為列表長度 第三個數字表示切片的步長 預設為1 當步長省略是可省略最後乙個冒號。1.切片操作不會因為下標越界而丟擲異常,而是簡單地在列表尾部截斷或者返回乙個空列表。alist...

Python3 序列解包

自 序列解包是 python 3.0 之後才有的語法 什麼是序列解包呢?先看乙個例子 a,b,c 1,2,3 a 1 b 2 c 3 這種方法並不限於列表和元組,而是適用於任意序列型別 甚至包括字串和位元組序列 只要賦值運算子左邊的變數數目與序列中的元素數目相等,你都可以用這種方法將元素序列解包到另...

詳解Python3序列賦值 序列解包

上節我們提到解決賦值中等號兩邊引數不一致的方法可以通過切片,但在python3中我們可以利用特定的語法更加方便的處理這種情況,如下示例。當帶 出現在結尾間時 l 1,程式設計客棧2,3,4,5 a,b l print a,b 示例結果 1 2,3,4,5 我們可以看到a匹配了列表中第乙個元素值,而b...