1. 程式人生 > >Python基礎入門(序列)

Python基礎入門(序列)


#序列是以[]的一個序列,每一個元素分配一個序號,也就是索引
#可變序列list    不可變序列tuple 字串string  
# x變數   1和1.0是儲存物件  動態資料型別的特徵
x  =  1
print(type(x),id(x))
x = 1.0
print(type(x),id(x))
#序列是怎麼儲存的?
#列表x 的索引號0,1,2 分別對應這 a,b,c 
x = ['a','b','c']
print(x)
#序列是以[]的一個序列,每一個元素分配一個序號,也就是索引
#可變序列list    不可變序列tuple 字串string  
# x變數   1和1.0是儲存物件  動態資料型別的特徵
x  =  1
print(type(x),id(x))
x = 1.0
print(type(x),id(x))
#序列是怎麼儲存的?
#列表x 的索引號0,1,2 分別對應這 a,b,c 
x = ['a','b','c']
print(x)
<class 'int'> 494731760
<class 'float'> 70356376
['a', 'b', 'c']
In [16]:

#列表 元祖 字串
var1 = [1,2,3,4]
​
#var2 = 1,2,3,4 == var2 = (1,2,3,4) 元祖不通過索引改變它的值
#var2[1] = 1 error
var2 = (1,2,3,4)
var2 = var2+(5,6,7,8,9)
print(var2)
​
#var3[1] = 6 error 字串不通過索引改變它的值
var3 = '1234'
var3 = var3 +'5678'
print(var3)
​
print(type(var1),id(var1))
print(type(var2),id(var2))
print(type(var3),id(var3))
(1, 2, 3, 4, 5, 6, 7, 8, 9)
12345678
<class 'list'> 83269256
<class 'tuple'> 82522664
<class 'str'> 82622128
In [19]:

#序列的通用操作
#判斷是否存在序列中,操作物件必須是可迭代物件
l = [1,2,3,4,5,6]
a,b = 1,7
print(a in l)
print(b in l)
True
False
In [27]:

#序列的連線和重複
l1 = [1,2,3,4,5]
l2 = [6,7,8,9,0]
print(l1+l2)
print(l1*2)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
[1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
In [30]:

#索引 從0開始   -1是最後一個,從後面過來
l1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(l1[-10],l1[-1],l1[0],l1[9])
1 0 1 0
In [37]:

#切片
#左閉右開
l1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(l1[2])
print(l1[5])
print(l1[2:5])
​
#右邊沒數就直接到最後一個
print(l1[2:])
#左邊沒數就是到最開始一個
print(l1[:5])
​
#步長 最後一位是步長
print(l1[2::2])
print(l1[:5:2])
print(l1[::5])
​
3
6
[3, 4, 5]
[3, 4, 5, 6, 7, 8, 9, 0]
[1, 2, 3, 4, 5]
[3, 5, 7, 9]
[1, 3, 5]
[1, 6]
In [53]:

#常用函式 
#len()
l1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
for i in range(len(l1)):
    print(l1[i])   
#sum 求和 min求最小 max求最大 全域性函式
print(sum(l1))
print(max(l1))
print(min(l1))
#inde count 是列表的方法
print(l1.index(1))
print(l1.count(4))
1
2
3
4
5
6
7
8
9
0
45
9
0
0
1
In [72]:

#小作業
x=[1,2,3,4,[1],[1,1]]
print(x.count(1))
x=[1,2,4,1,"1","1"]
print(x.count(1))
​
y = [45,67,89,45,34,22,1,[1]]
print(y.index(45))
​
#補充小知識,索引的結果是元素,假如裡面巢狀是列表,那麼這個元素就是列表  切片的結果是個序列
print(type(y[1]))
print(type(y[1:]))
print(type(y[-1]))
1
2
0
<class 'int'>
<class 'list'>
<class 'list'>