10個(gè)示例帶你掌握python中的元組
數(shù)據(jù)結(jié)構(gòu)是任何編程語(yǔ)言的關(guān)鍵部分。為了創(chuàng)建強(qiáng)大而性能良好的產(chǎn)品,必須非常了解數(shù)據(jù)結(jié)構(gòu)。
在本文中,我們將研究Python編程語(yǔ)言的重要數(shù)據(jù)結(jié)構(gòu),元組。
元組是用逗號(hào)分隔并括在括號(hào)中值的集合。與列表不同,元組的元素是不可變的。不變性可以視為元組的識(shí)別特征。
我將通過(guò)示例解釋元組的功能和對(duì)其的操作。
一、創(chuàng)建元組
元組由括號(hào)中的值組成,并用逗號(hào)分隔開(kāi)
a=(3,4) print (a) print (type(a)) # (3, 4) # <class 'tuple'>
元組可以存儲(chǔ)不同數(shù)據(jù)類(lèi)型的值和重復(fù)值。
a = (3, 3, 'x', [1,2]) print (a) # (3, 3, 'x', [1, 2]) print (type(a)) # <class 'tuple'>
我們也可以不使用括號(hào)創(chuàng)建元組。用逗號(hào)分隔的一系列值將創(chuàng)建一個(gè)元組。
a = 3, 4, 5, 6 print (type(a)) # <class 'tuple'>
二、創(chuàng)建沒(méi)有元素或只有1個(gè)元素的元組
創(chuàng)建沒(méi)有元素的空元組
a = () print (type(a)) # <class 'tuple'>
創(chuàng)建具有1個(gè)元素的元組,需要在元素后面加上逗號(hào),否則當(dāng)做元素的普通變量類(lèi)型處理
a = (3) print (type(a)) # <class 'int'> b = ([1,2]) print (type(b)) # <class 'list'>
正確的創(chuàng)建方法
a = (3,) print (type(a)) # <class 'tuple'> b = ([1,2],) print (type(b)) # <class 'tuple'>
三、元組是可迭代的
像列表一樣,你可以遍歷一個(gè)元組
a = (1, 2, 3) for i in a: print (i**2) ''' 1 4 9 '''
四、元組元素的訪(fǎng)問(wèn)
利用下標(biāo)索引訪(fǎng)問(wèn)
a = (3, 5, 'x', 5) print (a[0]) print (a[-1]) # 3 # 5
利用切片訪(fǎng)問(wèn)
a = (1, 2, 5, 6, 7) print (a[-2:]) # (6, 7) print (a[:3]) # (1, 2, 5)
五、元組當(dāng)前存放的元素是不可變的,但是可以具有可變?cè)?/strong>
不變性可能是元組最具有識(shí)別性的特征。我們不能修改元組中的元素。
a = (3, 5, 'x', 5) a[0] = 7 # error
但是,元組可以包含可變?cè)?,例如列表?/p>
a = ([1,2], ['x', 'y']) a[0][0] = 99 a[1][0] = 't' print (a) # ([99, 2], ['t', 'y'])
六、元組的排序
元組當(dāng)前存放的元素是不可變的,我們無(wú)法用sort進(jìn)行排序
但是sorted可以將元組作為參數(shù),并返回一個(gè)已經(jīng)排序好的列表,注意,返回的是一個(gè)排序好的列表而不是一個(gè)排序好的元組。
a = (3, 5, 8, 2) b = sorted(a) print (b) # [2, 3, 5, 8] print (type(b)) # <class 'list'>
七、元組的常用函數(shù)
可以使用len()獲取元組的長(zhǎng)度
a = (3, 0, 2) print (len(a)) # 3
max(),min()返回元組中元素的最大,最小值
a = (3, 0, 2) print (max(a)) print (min(a)) # 3 # 0
tuple()用于將列表轉(zhuǎn)換為元組
a = [1,2,3,4] print (tuple(a)) # (1,2,3,4)
八、count()和index()
count()可以用來(lái)統(tǒng)計(jì)元組中某個(gè)值出現(xiàn)的次數(shù)
a = (1, 'x', 1, 1, 'x') print (a.count('x')) # 2 print (a.count(1)) # 3
index()可以用來(lái)返回元組中元素的下標(biāo)索引
a = (1, 'x', 3, 5, 'x') print (a.index('x')) # 1 print (a.index(1)) # 0
tips:如果一個(gè)值在元組中多次出現(xiàn),index()會(huì)返回最先出現(xiàn)的索引
九、利用"+"拼接元組
我們可以利用“+”拼接元組得到一個(gè)新元組
a = (1, 2) b = ('x', 'y') c = a + b print (c) # (1, 2, 'x', 'y')
十、用元組讓函數(shù)返回多個(gè)值
一般的,一個(gè)函數(shù)只能有一個(gè)返回值。我們可以用元組讓函數(shù)返回多個(gè)值。以下函數(shù)接受一個(gè)數(shù)組,并返回該數(shù)組的總和與數(shù)組長(zhǎng)度。
def count_sum(arr): count = len(arr) sum = arr.sum() return count, sum
該函數(shù)返回的是具有2個(gè)項(xiàng)目的元組:
import numpy as np arr = np.random.randint(10, size=8) def count_sum(arr): count = len(arr) sum = arr.sum() return count, sum a = count_sum(arr) print (a) # (8, 39) print (type(a)) # <class 'tuple'>
總結(jié)
元素和列表相似,都是值的集合,最大的區(qū)別就是不變性了。如有錯(cuò)誤,疏漏,歡迎在留言區(qū)指正,希望能幫到python的初學(xué)者。
原文來(lái)自 python 客棧,歡迎關(guān)注
以上就是10個(gè)示例帶你掌握python中的元組的詳細(xì)內(nèi)容,更多關(guān)于python 元組的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- python元組拆包實(shí)現(xiàn)方法
- python空元組在all中返回結(jié)果詳解
- python中把元組轉(zhuǎn)換為namedtuple方法
- python 元組和列表的區(qū)別
- python中元組的用法整理
- python 元組的使用方法
- Python實(shí)現(xiàn)將元組中的元素作為參數(shù)傳入函數(shù)的操作
- python中讀入二維csv格式的表格方法詳解(以元組/列表形式表示)
- Python namedtuple命名元組實(shí)現(xiàn)過(guò)程解析
- python提取word文件中的所有圖片
- python可視化hdf5文件的操作
- Python 如何讀取.txt,.md等文本文件
- Python文件基本操作實(shí)用指南
- 將Python代碼打包成.exe可執(zhí)行文件的完整步驟
- Python文件名的匹配之clob庫(kù)
- Python批量將csv文件轉(zhuǎn)化成xml文件的實(shí)例
- Python基礎(chǔ)之元組與文件知識(shí)總結(jié)
相關(guān)文章
利用Python實(shí)現(xiàn)端口掃描器的全過(guò)程
這篇文章主要給大家介紹了關(guān)于如何利用Python實(shí)現(xiàn)端口掃描器的相關(guān)資料,用來(lái)檢測(cè)目標(biāo)服務(wù)器上有哪些端口開(kāi)放,本文適用于有 Python和計(jì)算機(jī)網(wǎng)絡(luò)語(yǔ)言基礎(chǔ)的用戶(hù),需要的朋友可以參考下2021-08-08python 出現(xiàn)SyntaxError: non-keyword arg after keyword arg錯(cuò)誤解決辦
這篇文章主要介紹了python 出現(xiàn)SyntaxError: non-keyword arg after keyword arg錯(cuò)誤解決辦法的相關(guān)資料,需要的朋友可以參考下2017-02-02Django如何利用uwsgi和nginx修改代碼自動(dòng)重啟
這篇文章主要介紹了Django如何利用uwsgi和nginx修改代碼自動(dòng)重啟問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05對(duì)python3 Serial 串口助手的接收讀取數(shù)據(jù)方法詳解
今天小編就為大家分享一篇對(duì)python3 Serial 串口助手的接收讀取數(shù)據(jù)方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06python實(shí)現(xiàn)動(dòng)態(tài)數(shù)組的示例代碼
這篇文章主要介紹了python實(shí)現(xiàn)動(dòng)態(tài)數(shù)組的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07