1. 程式人生 > 程式設計 >10個示例帶你掌握python中的元組

10個示例帶你掌握python中的元組

資料結構是任何程式語言的關鍵部分。為了建立強大而效能良好的產品,必須非常瞭解資料結構。

在本文中,我們將研究Python程式語言的重要資料結構,元組。

元組是用逗號分隔並括在括號中值的集合。與列表不同,元組的元素是不可變的。不變性可以視為元組的識別特徵。

我將通過示例解釋元組的功能和對其的操作。

一、建立元組

元組由括號中的值組成,並用逗號分隔開

a=(3,4)
print(a)
print(type(a))
# (3,4)
# <class 'tuple'>

元組可以儲存不同資料型別的值和重複值。

a = (3,3,'x',[1,2])
print(a)
# (3,2])
print(type(a))
# <class 'tuple'>

我們也可以不使用括號建立元組。用逗號分隔的一系列值將建立一個元組。

a = 3,4,5,6
print(type(a))
# <class 'tuple'>

二、建立沒有元素或只有1個元素的元組

建立沒有元素的空元組

a = ()
print(type(a))
# <class 'tuple'>

建立具有1個元素的元組,需要在元素後面加上逗號,否則當做元素的普通變數型別處理

a = (3)
print(type(a))
# <class 'int'>
b = ([1,2])
print(type(b))
# <class 'list'>

正確的建立方法

a = (3,)
print(type(a))
# <class 'tuple'>
b = ([1,2],)
print(type(b))
# <class 'tuple'>

三、元組是可迭代的

像列表一樣,你可以遍歷一個元組

a = (1,2,3)
fori ina:
print(i**2)
'''
1
4
9
'''

四、元組元素的訪問

利用下標索引訪問

a = (3,5)
print(a[0])
print(a[-1])
# 3
# 5

利用切片訪問

a = (1,6,7)
print(a[-2:])
# (6,7)
print(a[:3])
# (1,5)

五、元組當前存放的元素是不可變的,但是可以具有可變元素

不變性可能是元組最具有識別性的特徵。我們不能修改元組中的元素。

a = (3,5)
a[0] = 7
# error

但是,元組可以包含可變元素,例如列表。

a = ([1,['x','y'])
a[0][0] = 99
a[1][0] = 't'
print(a)
# ([99,['t','y'])

六、元組的排序

元組當前存放的元素是不可變的,我們無法用sort進行排序

但是sorted可以將元組作為引數,並返回一個已經排序好的列表,注意,返回的是一個排序好的列表而不是一個排序好的元組。

a = (3,8,2)
b = sorted(a)
print(b)
# [2,8]
print(type(b))
# <class 'list'>

10個示例帶你掌握python中的元組

七、元組的常用函式

可以使用len()獲取元組的長度

a = (3,2)
print(len(a))
# 3

max(),min()返回元組中元素的最大,最小值

a = (3,2)
print(max(a))
print(min(a))
# 3
# 0

tuple()用於將列表轉換為元組

a = [1,4]
print(tuple(a))
# (1,4)

八、count()和index()

count()可以用來統計元組中某個值出現的次數

a = (1,1,'x')
print(a.count('x'))
# 2
print(a.count(1))
# 3

index()可以用來返回元組中元素的下標索引

a = (1,'x')
print(a.index('x'))
# 1
print(a.index(1))
# 0

tips:如果一個值在元組中多次出現,index()會返回最先出現的索引

九、利用"+"拼接元組

我們可以利用“+”拼接元組得到一個新元組

a = (1,2)
b = ('x','y')
c = a + b
print(c)
# (1,'y')

十、用元組讓函式返回多個值

一般的,一個函式只能有一個返回值。我們可以用元組讓函式返回多個值。以下函式接受一個數組,並返回該陣列的總和與陣列長度。

defcount_sum(arr):
count = len(arr)
sum = arr.sum()
returncount,sum

該函式返回的是具有2個專案的元組:

importnumpy asnp
arr = np.random.randint(10,size=8)
defcount_sum(arr):
count = len(arr)
sum = arr.sum()
returncount,sum
a = count_sum(arr)
print(a)
# (8,39)
print(type(a))
# <class 'tuple'>

總結

元素和列表相似,都是值的集合,最大的區別就是不變性了。如有錯誤,疏漏,歡迎在留言區指正,希望能幫到python的初學者。

原文來自 python 客棧,歡迎關注

10個示例帶你掌握python中的元組

以上就是10個示例帶你掌握python中的元組的詳細內容,更多關於python 元組的資料請關注我們其它相關文章!