Python 元組詳解

2021-07-13 09:30:27 字數 3689 閱讀 4855

python 元組:

python的元組與列表類似,不同之處在於元組的元素不能修改。

元組使用小括號,列表使用方括號。

元組建立很簡單,只需要在括號中新增元素,並使用逗號隔開即可。

如下例項:

tup1 = ('physics', 'chemistry', 1997, 2000);

tup2 = (1, 2, 3, 4, 5 );

tup3 = "a", "b", "c", "d";

#建立空元組

tup1 = ();

#元組中只包含乙個元素時,需要在元素後面新增逗號

tup1 = (50,);

元組與字串類似,下標索引從0開始,可以進行擷取,組合等。

訪問元組:

元組可以使用下標索引來訪問元組中的值,如下例項:

#!/usr/bin/python

tup1 = ('physics', 'chemistry', 1997, 2000);

tup2 = (1, 2, 3, 4, 5, 6, 7 );

print

"tup1[0]: ", tup1[0]

print

"tup2[1:5]: ", tup2[1:5]

#以上例項輸出結果:

#tup1[0]: physics

#tup2[1:5]: (2, 3, 4, 5)

#下面方法可以直接把元組值賦給各個變數

man = ('wml', '22', 1997);

name,age,bir = man

print name

print age

print bir

#分別輸出

wml22

1997

修改元組:

元組中的元素值是不允許修改的,但我們可以對元組進行連線組合,如下例項:

#coding=utf-8

#!/usr/bin/python

tup1 = (12, 34.56);

tup2 = ('abc', 'xyz');

# 以下修改元組元素操作是非法的。

# tup1[0] = 100;

# 建立乙個新的元組

tup3 = tup1 + tup2;

print tup3;

#以上例項輸出結果:

#(12, 34.56, 'abc', 'xyz')

刪除元組:

元組中的元素值是不允許刪除的,但我們可以使用del語句來刪除整個元組,如下例項:

#!/usr/bin/python

tup = ('physics', 'chemistry', 1997, 2000);

print tup;

del tup;

print

"after deleting tup : "

print tup;

'''以上例項元組被刪除後,輸出變數會有異常資訊,輸出如下所示:

('physics', 'chemistry', 1997, 2000)

after deleting tup :

traceback (most recent call last):

file "test.py", line 9, in print tup;

nameerror: name 'tup' is not defined

'''

元組運算子:

與字串一樣,元組之間可以使用 + 號和 * 號進行運算。這就意味著他們可以組合和複製,運算後會生成乙個新的元組。

len((1, 2, 3))  #計算元素個數

(1, 2, 3) + (4, 5, 6) #連線,結果(1, 2, 3, 4, 5, 6)

('hi!') * 4

#複製,結果('hi!', 'hi!', 'hi!', 'hi!')

3in (1, 2, 3) #判斷元素是否存在,存在返回true

for x in (1, 2, 3): print x, #迭代,輸出 1 2 3

元組索引,擷取:

因為元組也是乙個序列,所以我們可以訪問元組中的指定位置的元素,也可以擷取索引中的一段元素,如下所示:

元組:

l = ('spam', 'spam', 'spam!')

操作: l[star:end:sep]

'''python 表示式 結果 描述

l[2] 'spam!' 讀取第三個元素

l[-2] 'spam' 反向讀取;讀取倒數第二個元素

l[1:] ('spam', 'spam!') 擷取元素

'''

無關閉分隔符:

任意無符號的物件,以逗號隔開,預設為元組,如下例項:

#!/usr/bin/python

print

'abc', -4.24e93, 18+6.6j, 'xyz';

x, y = 1, 2;

print

"value of x , y : ", x,y;

'''以上例項允許結果:

abc -4.24e+93 (18+6.6j) xyz

value of x , y : 1 2

'''

元組內建函式:

python元組包含了以下內建函式

cmp(tuple1, tuple2) #比較兩個元組元素。

len(tuple) #計算元組元素個數。

max(tuple) #返回元組中元素最大值。

min(tuple) #返回元組中元素最小值。

tuple(seq) #將列表轉換為元組。

cmp()方法詳解:

返回值:

如果比較的元素是同型別的,則比較其值,返回結果。

如果兩個元素不是同一種型別,則檢查它們是否是數字。

如果是數字,執行必要的數字強制型別轉換,然後比較。

如果有一方的元素是數字,則另一方的元素"大"(數字是"最小的")

否則,通過型別名字的字母順序進行比較。

如果有乙個列表首先到達末尾,則另乙個長一點的列表"大"。

如果我們用盡了兩個列表的元素而且所 有元素都是相等的,那麼結果就是個平局,就是說返回乙個 0。

例項以下例項展示了 cmp()函式的使用方法:

#!/usr/bin/python

tuple1, tuple2 = (123, 'xyz'), (456, 'abc')

#小於返回-1

print cmp(tuple1, tuple2);

#大於返回1

print cmp(tuple2, tuple1);

tuple3 = tuple2 + (786,);

print cmp(tuple2, tuple3)

#以上例項輸出結果如下:-11

-1

元組不能二次賦值,相當於唯讀列表。

Python 元組 Tuple 操作詳解

一 建立元組 複製 如下 tup1 physics chemistry 1997,2000 tup2 1,2,3,4,5 tup3 a b c d 建立空元組 複製 如下 tup1 www.cppcns.com 元組中只包含乙個元素時,需要在元素後面新增逗號來消除歧義 複製 如下 tup1 50,元...

詳解 Python 中的元組型別

目錄 7.1 建立元組 7.2 元組相關方法 在 python 中,元組 tuple 和列表 常相似,與列表不同的是,元組 旦創 就不可改變,也就是說,元組是不可變的。與列表一樣,元組也是序列,唯一的差別在於元組是不能修改的 你可能注意到了,字串也不能修改 元組語法很簡單,只要將一些值用逗號分隔,就...

python 元組, 元組應用

元組可以存放不同型別的資料 元組中的資料不能被修改 如果元組中有列表,可以修改列表中的資料 語法 變數 資料1,資料2,資料3,型別是 my tuple isaac 18 3.14 true print my tuple print type my tuple 控制台輸出 isaac 18 3.14...