1. 程式人生 > >Python中元組相關知識

Python中元組相關知識

下面給大家介紹以下元組的相關知識:

  ·元組可以看成是一個不可更改的list

1.元組的建立

# 建立空元祖
t = ()
print(type(t))

# 建立只有一個值的元組
# 觀察可知元組中如果純數字的話,型別是int,加個逗號就好了
t1 = (1)
t2 = (1,)
print(type(t1))
print(type(t2))

t = 1,# 也要有逗號
print(type(t))
print(t)

# 建立多個值的元組型別1
t = (1,2,3,4,5)
print(type(t))
print(t)
# 建立多個值的元組型別2
t =  1,2,3,4,5
print
(type(t)) print(t) # 使用其他結構建立 l = [1,2,3,4,5] t = tuple(l) print(type(t)) print(t)

 

<class 'tuple'>
<class 'int'>
<class 'tuple'>
<class 'tuple'>
(1,)
<class 'tuple'>
(1, 2, 3, 4, 5)
<class 'tuple'>
(1, 2, 3, 4, 5)
<class 'tuple'>
(1, 2, 3, 4, 5)

元組的特性

  • 是序列表,有序
  • 元組資料值可以訪問,不能修改,不能修改,不能修改
  • 元組資料可以是任意型別
  • 總之,list所有的特性,除了修改外,元組都具有
  • 也就意味者,list具有一些操作,比如索引,分片,序列相加,相乘,成員資格操作等,一模一樣
 
 
 
# 索引操作
t = (1,2,3,45)
print(t[2])
 

 

3
# 超標在list中超標是會報錯的,而tuple中不會報錯
#list中
print(t[12])
 

 

報錯:

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-97-81e870641898> in <module>()
 1 # 超標在list中超標是會報錯的,而tuple中不會報錯 ----> 2 print(t[12]) IndexError: tuple index out of range
 
t = (1,2,3,4,5,6)
t1 = t[1::2]
print(id(t))
print(id(t1))
print(t1)

# tuple中的切片是不報錯的
print(t[1:200])
 
140106142035688
140106141748032
(2, 4, 6)
(2, 3, 4, 5, 6)
 
 
 
# 序列相加
t1 = (1,2,3)
t2 = (4,5,6)
# 傳址操作
print(t1)
print(id(t1))
t1 = t1 + t2
print(t1)
print(id(t1))

# 以上操作,類似於
t1 = (1,2,3)
t1 = (2,3,4)

# tuple 的不可修改,指的是內容的不可修改
# 修改tuple內容會導致報錯
t1[1] = 100
(1, 2, 3)
140106142173296
(1, 2, 3, 4, 5, 6)
140106142035688

 

 
 
 
# 元組相乘
t = (1,2,3)
t = t*3
print(t)
 
(1, 2, 3, 1, 2, 3, 1, 2, 3)
 
 
 
# 成員檢測
t = (1,2,3)
if 2 in t:
    print("yes")
else:
    print("no")
 
yes
# 元組遍歷,一般採用for迴圈
# 1.單層元組遍歷
t = (1,2,3,"python","java")
for i in t:
    print(i,end=" ")
1 2 3 python java 
# 2.雙層元組遍歷
t = ((1,2,3),("python","java","c"))
#比對以上元組的遍歷,可以如下
#1.
for i in t:
    print(i,end=" ")

print()
for k,m,n in t:
    print(k,"--",m,"--",n)
(1, 2, 3) ('python', 'java', 'c') 
1 -- 2 -- 3
python -- java -- c

關於元組的函式:
  • 以下看程式碼
  • 以下所有函式,對list基本適用
 
 
 
# len:獲取元組的長度
t = (1,2,3,4,5)
len(t)
print(len(t))
 

 

 
 
 
# tuple:轉換或建立元組
l = [1,2,3,14,5,60]
t = tuple(l)
print(t)

t = tuple()
print(t)
 
(1, 2, 3, 14, 5, 60)
()
# count: 計算指定資料出現的次數
t = (1,2,1,2,6,5,1)
print(t.count(1))

 

3
# index :求制定元素在元組中的索引位置

print(t.index(6))
#如果需要查詢的數字是多個,則返回第一個

print(t.index(1))
 

 

4
0
元組變數交換法
  • 倆個變數交換值
 
 
 
# 倆個變數交換值
a = 1
b = 3
print(a)
print(b)
print("*"*30)
# Java程式設計師會這麼寫
c = a
a = b
b = c
print(a)
print(b)
print("*"*30)

# python程式設計師的寫法
a,b=b,a
print(a)
print(b)
 
1
3
******************************
3
1
******************************
1
3