1. 程式人生 > >老男孩Python學習之數據類型 元組

老男孩Python學習之數據類型 元組

Python學習 Python元組

以下是老男孩教育編寫的Python教學資料,轉載請註明出處:http://www.oldboyedu.com

?

Python的元組與列表類似,不同之處在於元組的元素不能修改。即數據可以被查詢,但不能被修改。所以切片操作同樣適用於元組。

一. 定義元組

>>> tup = ("python","小雞","大鵬","老鼠")

當元組()中只包含一個元素時,需要在元素後面添加逗號,否則括號會被當作元素的類型使用:

>>> tup = ("python")
>>> print(tup,type(tup))
>>> tup = ("python",)
>>> print(tup,type(tup))
計算結果:
python <class 'str'>                            #這裏打印的類型為元素的類型,不是定義元組的類型
('python',) <class 'tuple'>                     #當加上","後,程序才能識別為元組

二. 元組的索引與切片

索引

>>> tup = ("python","小雞","大鵬","老鼠")
>>> print(tup[0])
>>> print(tup[1])
>>> print(tup[2])
計算結果:
python
小雞
大鵬

切片

>>> tup = ("python","小雞","大鵬","老鼠","Alex","培訓")
>>> print(tup[0:3])                     #打印前3個索引的值
>>> print(tup[2:5])                     #打印第2個至第5個的索引的值,索引默認從0開始
>>> print(tup[2:5:2])                   #打印第2個至第5個的索引的值,每隔2個取一次值
>>> print(tup[-2::-2])                  #倒序從倒數第二個向前取值,每隔2個取一次值
>>> print(tup[5:0:-2])                  #倒序從索引5向前取值,每隔2個取一次值
計算結果:
('python', '小雞', '大鵬')
('大鵬', '老鼠', 'Alex')
('大鵬', 'Alex')
('Alex', '大鵬', 'python')
('培訓', '老鼠', '小雞')

三. 元組的刪除

>>> tup = ("python","小雞","大鵬","老鼠","Alex","培訓")
>>> del tup                                 #刪除元組
>>> print(tup)
計算結果:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'tup' is not defined

四. 元組和列表的相互轉換

>>> tup = ("python","小雞","大鵬","老鼠","Alex","培訓")
>>> li = list(tup)                          #將元組轉換為列表
>>> print(li)
>>> tups = tuple(li)
>>> print(tups)                             #將列表轉換為元組
計算結果:
['python', '小雞', '大鵬', '老鼠', 'Alex', '培訓']
('python', '小雞', '大鵬', '老鼠', 'Alex', '培訓')

五. 練習題

1. 有如下變量(tu是個元祖),請實現要求的功能

tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
a. 講述元祖的特性
b. 請問tu變量中的第一個元素 “alex” 是否可被修改?
c. 請問tu變量中的"k2"對應的值是什麽類型?是否可以被修改?如果可以,請在其中添加一個元素 “Seven”
d. 請問tu變量中的"k3"對應的值是什麽類型?是否可以被修改?如果可以,請在其中添加一個元素 “Seven”


老男孩Python學習之數據類型 元組