附加程序:
創建元組
元組是一種不可變的序列,一旦創建就不能修改。創建元組可以使用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)