程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python——元組的概述

編輯:Python

元組的定義:元組是有序的不可修改的,以逗號分隔的,以小括號包圍的序列,可以通過**()tuple()**函數定義,不能修改,只有在定義的一瞬間修改。

A = (1,2,3)#這就是一個元組

優點:

  • 遍歷元組比列表快
  • 元組不可變,元組中數據被寫保護,一些軟件比較重要的數據通過元組進行存儲
    我們這裡先來定義一個元組:
num = (1,2,3,'ad')
print(num)
type(num)
(1, 2, 3, 'ad')
tuple

如果我們元組裡面只放一個數據:

num = (2)
type(num)
int

這裡,我們定義的元組,最後卻成了一個int型數據。如果重新定義一種形式:

num1 = ('a')
type(num1)

最後輸出的結果也是字符串str類型,那麼,這是為什麼呢?
Python中的()同樣也表示數學運算的一個基本符號,比如(1+1)*2,所以這就和元組的這個小括號產生了歧義,當元組中只有一個元素,而又沒有逗號的時候,它會把這元素運算出來,這個小括號會被Python解釋器識別為一個運算符號,所以得到的是那個元素本身的數據類型。
所以,為了解決這個問題,我們只需在定義元組的元素後面加上一個逗號就可以消除這種情況。

num = (2,)
type(num)
tuple

元組中元素的訪問:
元組中對於元素的訪問依然是按照索引來訪問的。

num = (1,2,3,'jk','hy')
print(num[0])
print(num[1])
1
2

修改元組:
前面說到,元組是不可變的,也就是說,元組中的元素在被賦值後不能改變。但是,如果元素本身是一個可變數據類型的列表,那麼其嵌套項可以被改變。
例如:

num = (1,2,[7,8])
print(num)
num[2].append(3)
print(num)
(1, 2, [7, 8])
(1, 2, [7, 8, 3])

如果我們試著改變一下元組內元素的值:

num = (1,2,[7,8])
print(num)
num[2][1] = 'jk'
print(num)
(1, 2, [7, 8])
(1, 2, [7, 'jk'])

如果我們在元組內嵌套一個列表,我們也是只能對列表內的數據進行增刪。
tuple()函數:
tuple函數的功能與list函數基本上一樣的,以一個序列作為參數並把它轉換為元組,如果參數是元組,那麼該參數就會被原樣返回。

num1 = [2,3,4,'jk']
num1 = tuple(num1)#列表變元組
print(num1)
str1 = 'beautiful'
str1 = tuple(str1)#字符串變元組
print(str1)
(2, 3, 4, 'jk')
('b', 'e', 'a', 'u', 't', 'i', 'f', 'u', 'l')

元組的索引也是和訪問列表與字符串完全一致的。
嵌套元組的訪問方式:這種方式其實與c語言的矩陣訪問方式差不多的。

num = ((1,'jk'),(2,'hy'),(3,'aj'))
print(num[0][1])
print(num[1][1])
jk
hy

元組的查找
index 從左往右返回第一個遇到的指定元素的索引,如果沒有,報錯

num = (1,2,3,'jk','hy')
num.index(2)
1

count 返回元組當中指定元素的個數

num = (1,2,3,'jk','hy')
num.count(3)
1

python元組與列表的區別
1、元組和列表都是有序的,元組不可修改,列表可修改。
2、元組和列表的元素可以是任何類型
3、元組的元素長度可以任意。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved