元組的創建、訪問、遍歷


附加程序:

創建元組

​ 元組是一種不可變的序列,一旦創建就不能修改。創建元組可以使用tuple([iterable])函數或直接用逗號“,”將元素分隔。

Python Shell實例代碼

>>>21,32,43,45(21,32,43,45)
>>>(21,32,43,45)(21,32,43,45)
>>>a = (21,32,43,45)
>>>print(a)
(21,32,43,45)
>>>('Hello', 'World')('Hello', 'World')
>>>('Hello', 'World', 1, 2, 3)('Hello', 'World', 1, 2, 3)
>>>tuple([21,32,43,45])(21,32,43,45)

代碼第①行創建了一個有4個元素的元組,創建元組時使用小括號把元素括起來不是必須的;

代碼第②行使用小括號將元素括起來,這只是爲了提高程序的可讀性

代碼第③行創建了一個字符型元組

代碼第④行創建了一個字符串和整數混合的元組。Python中沒有強制聲明數據類型,因此元組中的元素可以是任何數據類型

另外,元組還可以使用tuple([iterable])函數創建,參數iterable可以是任何可迭代對象。代碼第⑤行使用了tuple函數創建元組對象,實參[21, 32, 43, 45]是一個列表,列表是可迭代對象,可以作爲tuple()函數參數創建元組對象。

創建元組還需注意極端情況:❗️

>>> a = (21)
>>> type(a)
<class 'int'>
>>> a = (21, )
>>> type(a)
<class 'tuple'>
>>> a = ()
>>> type(a)
<class 'tuple'>

訪問元組

元組作爲序列可以通過下標索引訪問其中的元素,也可以對其進行分片

PythonShell實例:

>>>a = ('Hello', 'World', 1, 2, 3)>>>a[1]
'World'
>>>a[1:3]
('World', 1)
>>>a[2:]
(1, 2, 3)
>>>a[:2]
('Hello', 'World')

上述代碼第①行是元組a,a[1]是訪問元組的第二個元素,表達式a[1:3]、a[2:]和a[:2]都是分片操作


元組還可以進行拆包(Unpack)操作,就是將元組的元素取出給不同變量

PythonShell實例:

>>> a = ('Hello', 'World', 1, 2, 3)
>>> str1, str2, n1, n2, n3 = a
>>> str1
'Hello'
>>> str2
'World'
>>> n1
1
>>> n2
2
>>> n3
3
>>> str1, str2, *n = a
>>> str1
'Hello'
>>> str2
'World'
>>> n
[1, 2, 3]

*n可以直接獲取剩餘的元素

遍歷元組

一般用for語句遍歷元組,實例代碼

#coding=utf-8
#!/usr/bin/python3


a = {21, 32, 43, 45}

for item in a:
    print(item)

print('--------')

for i, item in enumerate(a):
    print('{0} - {1}'.format(i, item))

運行結果:

21
32
43
45
--------
0 - 21
1 - 32
2 - 43
3 - 45

其中enumerate(a)函數可以獲取元組對象

附加程序

#coding = utf-8

a = (20)
print(type(a))

a = (20,)
print(type(a))
#tuple

a = (20, 30, 40, 50, 60)
print(a)
print(a[1])
print(a[1:3])

a = ('Hello', 'World', 1, 2, 3)
str1, str2, n1, n2, n3 = a
print(str1)
print(str2)
print(n1, "", n2, "", n3)

str1, str2, *n = a
print(n)

[1:3])

a = (‘Hello’, ‘World’, 1, 2, 3)
str1, str2, n1, n2, n3 = a
print(str1)
print(str2)
print(n1, “”, n2, “”, n3)

str1, str2, *n = a
print(n)




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章