1. 程式人生 > 程式設計 >簡單瞭解python元組tuple相關原理

簡單瞭解python元組tuple相關原理

這篇文章主要介紹了簡單瞭解python元組tuple相關原理,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

元組tuple和列表List類似,元組有如下特點:

1.由一個或者多個數據構成,資料的型別可以不相同也可以相同;

2.元組中的資料需要寫在()中括號內部,資料與資料之間用逗號隔開;

3.元組是一個有序的集合,下標索引預設重 0 開始,和字串類似;

4.元組的資料不能被修改

元組

元組其實也稱為只讀列表,列表支援的函式元組同樣也支援,唯一區別是元組tuple中的資料不能被修改,這就意味著不能刪除元組tuple中的資料,也不能直接給元組tuple中的資料賦值。

一.元組tuple定義

# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:何以解憂
@Blog(個人部落格地址): shuopython.com
@WeChat Official Account(微信公眾號):猿說python
@Github:www.github.com
 
@File:python_tuple.py
@Time:2019/9/26 20:45
 
@Motto:不積跬步無以至千里,不積小流無以成江海,程式人生的精彩需要堅持不懈地積累!
"""
tuple1 = tuple() # 定義一個空元組,元組的資料不能修改,意味永遠都是一個空元組
print(tuple1)
print(type(tuple1)) # 獲取資料型別
 
tuple2 = ("python","study") # 定義元組tuple2 ,該元組由兩個字串資料構成
print(tuple2)
 
tuple3= ("python","s",False,2.5) # 定義元組tuple3 ,該元組中的資料可以由不同型別的資料構成
print(tuple3)

輸出結果:

()
<class 'tuple'>
('python','study')
('python','s',2.5)

二.元組tuple查詢

元組tuple的查詢和列表list的操作類似,同樣也可以直接通過下標查詢元組中的資料,演示程式碼如下:

tuple1= ("python",2.5,40,"tuple") # 元組中的資料可以由不同型別的資料構成
print(type(tuple1)) # 通過內建函式type獲取資料型別
print(tuple1)
print(tuple1[1]) # 獲取元組中索引值為1 的資料
print(tuple1[len(tuple1)-1]) # 獲取元組中的最後一個元素,注意是len(tuple)-1,並非len(tuple)
print(tuple1[1:4]) # 獲取元組索引值1-4的資料
print(tuple1[:5]) # 如果冒號之前沒有設定引數,預設重0開始,表示獲取元組索引值0-5的資料
print(tuple1[3:]) # 如果冒號之後沒有設定引數,預設到元組最後一個數據介紹,包括最後一個數據

輸出結果:

<class 'tuple'>
('python','tuple')
s
tuple
('s',2.5)
('python',40)
(2.5,'tuple')

三.元組tuple不支援刪除/修改資料

元組tuple中的資料只能讀取,不能修改也不能刪除,如果對元組tuple中的資料刪除或者修改會報錯,程式碼演示:

# 測試修改元組資料
tuple1= ("python","tuple") # 元組中的資料可以由不同型別的資料構成
tuple1[0] = False

編譯器會報錯:TypeError: ‘tuple' object does not support item assignment(翻譯:元組tuple不支援修改)

# 測試刪除元組資料
tuple1= ("python","tuple") # 元組中的資料可以由不同型別的資料構成
del tuple1[0]

編譯器會報錯:TypeError: ‘tuple' object doesn't support item deletion(翻譯:元組tuple不支援刪除)

四.元組tuple與列表list的相互轉換

兩者之間直接強制轉換即可,演示程式碼如下:

# 元組tuple 轉為 列表list
tuple1= ("python","tuple")
list1 = list(tuple1)
 
print("tuple1資料型別是:",type(tuple1))
print("list1資料型別是:",type(list1))
 
print("***"*20) # 小竅門:直接列印60個*
 
# 列表list 轉為 元組tuple
list2 = [False,"好好學習",3.14]
tuple2 = tuple(list2)
print("tuple2資料型別是:",type(tuple2))
print("list2資料型別是:",type(list2))

輸出結果:

tuple1資料型別是: <class 'tuple'>
list1資料型別是: <class 'list'>
************************************************************
tuple2資料型別是: <class 'tuple'>
list2資料型別是: <class 'list'>

五.重點總結

1.注意元組tuple與列表list的區別,元組的資料不能被修改,其他使用和列表一樣。

2.注意元組tuple/列表list/字串str三者的寫法區別:

a = "python教程" # 字串
b = ["python教程"] # 列表,列表中只有一個字串資料
c = ("python教程") # 元組,元組中只有一個字串資料

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。