老男孩Python學習之數據類型 元組
阿新 • • 發佈:2018-05-22
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學習之數據類型 元組