序列型別及其操作

2021-09-19 11:19:11 字數 4111 閱讀 3290

序列是具有先後關係的一組元素,序列是一維元素向量,元素型別可以不同,元素間由序號引導,通過下標訪問序列的特定元素;

序列是乙個基類型別,它可以衍生出:字串型別、元組型別、列表型別。

序號的定義:正向遞增序號(0,1,2,……)、反向遞減序號(-1,-2,-3,……)

1.x in s:如果x是序列s中的元素,返回true,否則返回false;

2.x not in s:如果x是序列中的元素,返回false,否則返回true;

3.s+t:連線兩個序列

4.s*n或n*s:將序列重複n次

5.s[i]:索引,返回s中的第i個元素,i是序列的序號

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

對字串進行取反:

ls=["python",123,".io"]

ls[::-1]#對字串進行取反

輸出結果:

['.io', 123, 'python']

s="python123.io"

s[::-1]

輸出結果:

'oi.321nohtyp'

1.len(s):返回序列s的長度

2.min(s):返回序列s中的最小元素,s中的元素需要可比較

3.max(s):返回序列s中的最大元素,s中的元素需要可比較

4.s.index(x)或s.index(x,i,j):返回序列s從i開始到j位置中第一次出現元素x的位置

5.s.count(x):返回序列s**現x的總次數

ls=["python",123,".io"]

len(ls)

輸出結果:

3s="python123.io"

max(s)

輸出結果:

'y'

元組型別一旦被建立,就不能被修改;

使用小括號() 或 tuple() 建立,元素間用逗號 , 分隔;

可以使用或不使用小括號;比如說:def func(): return 1,2  返回的是兩個數,其實它被看做是乙個元組型別的數,只不過沒有加小括號。

creature = "cat","dog","tiger","human"

creature

輸出結果:

('cat', 'dog', 'tiger', 'human')

color=(0x001100,"blue",creature)

color

輸出結果:

(4352, 'blue', ('cat', 'dog', 'tiger', 'human'))

元組型別繼承了序列型別全部通用操作

creature = "cat","dog","tiger","human"

creature[::-1]#並不改變原有的資料型別的值,而是生成了乙個新的元組

輸出結果:

('human', 'tiger', 'dog', 'cat')

color=(0x001100,"blue",creature)

color[-1][2]

輸出結果:

'tiger'

列表建立後可以隨意被修改。

使用方括號[ ] 或list()建立,元素用逗號 , 分隔,列表中元素型別可以不同,無長度限制

ls=["cat","dog","tiger",1024]

ls輸出結果:

['cat', 'dog', 'tiger', 1024]

lt=ls

lt輸出結果:

['cat', 'dog', 'tiger', 1024]

注:方括號[ ]真正建立乙個列表,賦值僅傳遞引用,在上述的例子中lt和ls都指向同乙個列表

1.ls[i]=x:替換列表ls第i元素為x

2.ls[i:j:k]=lt:用列表lt替換ls切片後對應元素子列表

3.del ls[i]:刪除列表ls中的第i個元素

4.del ls[i:j:k]:刪除列表ls中第i到第j以k為步長的元素

5.ls+=lt:更新列表ls,將列表lt中元素增加到列表ls中

6.ls*=n更新列表ls,其元素重複n次

ls=["cat","dog","tiger",1024]

ls[1:2]=[1,2,3,4]

ls輸出結果:

['cat', 1, 2, 3, 4, 'tiger', 1024]

del ls[::3]#刪除列表中以3為步長的元素

ls輸出結果:

[1, 2, 4, 'tiger']

ls*2

輸出結果:

[1, 2, 4, 'tiger', 1, 2, 4, 'tiger']

ls=

ls輸出結果:[3]

2.ls.clear():刪除列表ls中所有元素

3.ls.copy():生成乙個新列表,賦值ls中所有元素

4.ls.insert(i,x):在列表ls的第i位置增加元素x

5.ls.pop(i):將列表ls中第i位置元素取出來並刪除該元素

6.ls.remove(x):將列表ls**現的第乙個元素x刪除

7.ls.reverse():將列表ls中的元素反轉

ls=["cat","dog","tiger",1024]

ls輸出結果:

['cat', 'dog', 'tiger', 1024, 1234]

ls.insert(3,"human")

ls輸出結果:['cat', 'dog', 'tiger', 'human', 1024, 1234]

ls.reverse()

ls輸出結果:

[1234, 1024, 'human', 'tiger', 'dog', 'cat']

例項:

lt=#定義空列表

lt+=[1,2,3,4,5]#向lt中新增5個元素

lt[2]=10#修改lt中第二個元素

lt[2:3]=[30]#向lt中第2個位置增加乙個元素,lt.insert(2,7)

del lt[1]#從lt中第乙個位置刪除乙個元素

del lt[1:4]#刪除lt中第1-3位置元素

0 in lt#判斷lt中是否包含數字0

lt.index(0)#返回數字0在lt中的索引

len(lt)#返回lt的長度

max(lt)#lt中的最大元素

lt.clear()#清空lt

——元組用於元素不改變的應用場景,更多用於固定搭配場景

——列表更加靈活,它是最常用的序列型別

資料保護:如果不希望資料被修改,可將其轉換成元組型別

ls=["cat","dog","tiger",1024]

lt=tuple(ls)#將資料轉換成元組型別

lt

將**寫成推導式的形式執行效率會更高

一般形式:

ls=

for i in range(101):

if i%2==0:

ls

推導式的形式:

ls=[i for i in range(101) if i%2==0]

ls

上述**的執行結果均相同,執行結果如下:

[0,

2, 4,

6, 8,

10,12,

14,16,

18,20,

22,24,

26,28,

30,32,

34,36,

38,40,

42,44,

46,48,

50,52,

54,56,

58,60,

62,64,

66,68,

70,72,

74,76,

78,80,

82,84,

86,88,

90,92,

94,96,

98,100]

Hive表型別及其操作

create database demo use demo create table table 1 id int,name varchar 8 create external table table 2 id int,name varchar 8 row format delimited fiel...

Python 序列型別及操作

1 序列型別定義 1 序列是具有先後關係的一組元素 序列是一維元素向量,元素型別可以不同 類似數學元素序列 s0 s1 s n 1 元素間由序號引導,通過下標訪問序列的特定元素 2 序列是乙個基類型別 3 序號的定義 2 序列處理函式及方法 1 序列型別通用操作符 操作符及應用 描述 x in s ...

Python 序列型別及操作

1.序列型別定義 序列是具有先後關係的一組元素 序列是乙個基類型別 2.序列處理函式及方法 序列型別通用操作符 操作符及應用 描述x in s 如果x是序列s的元素,返回true,否則返回false x not in s 如果x是序列s的元素,返回false,否則返回true s t 連線兩個序列s...