Python基礎數(shù)據(jù)類型tuple元組的概念與用法
元組簡單介紹
元組是一個和列表和相似的數(shù)據(jù)類型,也是一個有序序列
兩者擁有著基本相同的特性,但是也有很多不同的地方
聲明元組
var = (1, 2, 3)
var = ("1", "2", "3")
var = (True, False)
var = (1.1, 1.11, 1.111)
var = ((1,), (2, 3), (4, 5))
var = ([1, 2], {"name": "polo"})
元組與列表的區(qū)別
元組與列表很相似,都是有序的只讀序列,兩者有相同的方法和操作運算,區(qū)別在于:
列表創(chuàng)建后,可以進行修改
元組創(chuàng)建后,不能進行修改
lis = [1, 2, 3]
lis[0] = 111
print(lis)
tupl = (1, 2, 3)
tupl[0] = 2
# 輸出結果
Traceback (most recent call last):
File "/Users/polo/Documents/pylearn/第一章:python 基本類型/6_tuple元組.py", line 21, in <module>
tupl[0] = 2
TypeError: 'tuple' object does not support item assignment
究極原因在于
列表是可變對象,而元組是不可變對象,具體詳解可以參考
//www.dhdzp.com/article/218564.htm
特殊的元組
如果一個元組沒有包含任何元素,使用 () 表示一個空元組
# 空 tup = () print(tup, type(tup)) # 輸出結果 () <class 'tuple'>
如果一個元組只包含一個元素,要怎么表示?
# 只包含一個元素 tup = (1) print(tup, type(tup)) # 輸出結果 1 <class 'int'>
哎!竟然是 1,好像是哦,( ) 就是數(shù)學運算常見的括號呀,那到底要怎么表示呢
正確表示元組只包含一個元素
# 正確 tup = (1,) print(tup, type(tup)) # 輸出結果 (1,) <class 'tuple'>
需要在元素后加一個逗號,使用 (item, ) 表示該元組
總結
(123, ) 表示的是一個元組,元組中包含一個整數(shù) 123
(123) 表示的是一個帶括號的表達式,整數(shù) 123 嵌入括號中
元組的簡寫
當元組在 = 右邊的時候,可以省略括號
# 等價寫法 a = 1, 2 print(a, type(a)) a = (3, 4) print(a, type(a)) a = 1, print(a, type(a)) a = (3,) print(a, type(a)) # 輸出結果 (1, 2) <class 'tuple'> (3, 4) <class 'tuple'> (1,) <class 'tuple'> (3,) <class 'tuple'>
元組常見運算操作
索引 [ ] 取值
# 索引 tup = [1, 2, 3, 4, 5] print(tup[0]) print(tup[-1]) print(tup[2]) # 輸出結果 1 5 3
切片 [ : : ] 取值
和列表一樣,元組也可以切片
使用語法:元組[start : end : step],獲取元組中在 [start, end) 范圍的子元組
注意范圍 [start, end) 包含 start,不包含 end
step 是步長,設為 n,則每隔 n 個元素獲取一次
# 切片 tup = [1, 2, 3, 4, 5, 6, 7, 8] print(tup[:]) # 取全部元素 print(tup[0:]) # 取全部元素 print(tup[2:5]) # 取第 3 個元素到第 5 個元素 print(tup[::-1]) # 倒序取所有元素 print(tup[-3:-1]) # 取倒數(shù)第 3 個元素到倒數(shù)第 2 個元素 # 輸出結果 [1, 2, 3, 4, 5, 6, 7, 8] [1, 2, 3, 4, 5, 6, 7, 8] [3, 4, 5] [8, 7, 6, 5, 4, 3, 2, 1] [6, 7]
運算符 +
使用運算符 + 連接多個元組
# + tup1 = (1,) tup2 = (2, 3) print(tup1 + tup2) # 輸出結果 (1, 2, 3)
運算符 *
使用運算符 * 將元組的元素重復
# * tup = (1, 2) print(tup * 2) # 輸出結果 (1, 2, 1, 2)
關鍵字 in
通過關鍵字 in 檢查列表中是否包含指定元素,返回 bool 值
not in 則是取反
# in tup = (1, 2, 3) print(1 in tup) print(22 not in tup) # 輸出結果 True True
常見函數(shù)
len(元組) 函數(shù)
# len tup = (1, 2, 3) print(len(tup)) # 輸出結果 3
max(元組) 函數(shù)
# max tup = (1, 2, 3) print(max(tup)) # 輸出結果 3
min(元組) 函數(shù)
# min tup = (1, 2, 3) print(min(tup)) # 輸出結果 1
元組常見方法
元組與列表很相似,兩者都表示一個有序的序列,它們的區(qū)別在于:
- 列表創(chuàng)建后,可以進行修改
- 元組創(chuàng)建后,不能進行修改
這點在可變對象、不可變對象文章都寫了
index(item)
在元組中查找指定元素 item
如果找到元素 item,則返回元素 item 的索引
如果找不到,則拋出異常
# index
tup = (1, 2, 3)
print(tup.index(1))
print(tup.index(11))
# 輸出結果
0
Traceback (most recent call last):
File "/Users/Documents/pylearn/第一章:python 基本類型/6_tuple元組.py", line 88, in <module>
print(tup.index(11))
ValueError: tuple.index(x): x not in tuple
count(value)
返回元素 value 在元組中出現(xiàn)的次數(shù)
# count tup = (1, 2, 1) print(tup.count(1)) print(tup.count(11)) # 輸出結果 2 0
元組總結
因為元組是不可變對象,所以元組一般適合用來存儲不變的數(shù)據(jù)
到此這篇關于Python基礎數(shù)據(jù)類型tuple元組的概念與用法的文章就介紹到這了,更多相關Python數(shù)據(jù)類型tuple元組內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python爬蟲實現(xiàn)爬取下載網(wǎng)站數(shù)據(jù)的幾種方法示例
這篇文章主要為大家介紹了Python爬蟲實現(xiàn)爬取下載網(wǎng)站數(shù)據(jù)的幾種方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11
Python編程實現(xiàn)下載器自動爬取采集B站彈幕示例
這篇文章主要介紹了使用Python編程來實現(xiàn)一個下載器可以自動爬取采集B站彈幕的示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2021-10-10
使用Python腳本對GiteePages進行一鍵部署的使用說明
剛好之前有了解過python的自動化,就想著自動化腳本,百度一搜還真有類似的文章。今天就給大家分享下使用Python腳本對GiteePages進行一鍵部署的使用說明,感興趣的朋友一起看看吧2021-05-05
python中小數(shù)點后取2位(四舍五入)及取2位(四舍五不入)的方法
這篇文章主要給大家介紹了python中小數(shù)點后取2位(四舍五入)及取2位(四舍五不入)的方法,在Python中取兩位小數(shù)的方法其實非常簡單,需要的朋友可以參考下2023-08-08
Scrapy的Pipeline之處理CPU密集型或阻塞型操作詳解
這篇文章主要介紹了Scrapy的Pipeline之處理CPU密集型或阻塞型操作詳解,Twisted框架的reactor適合于處理短的、非阻塞的操作,Twisted提供了線程池來在其他的線程而不是主線程(Twisted的reactor線程)中執(zhí)行慢的操作,需要的朋友可以參考下2023-10-10

