序列是具有先後關係的一組元素,序列是一維元素向量,元素型別可以不同,元素間由序號引導,通過下標訪問序列的特定元素;
序列是乙個基類型別,它可以衍生出:字串型別、元組型別、列表型別。
序號的定義:正向遞增序號(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...