小白學 Python(11):基礎資料結構(元組)
阿新 • • 發佈:2019-11-01
人生苦短,我選Python
前文傳送門
小白學 Python(1):開篇
小白學 Python(2):基礎資料型別(上)
小白學 Python(3):基礎資料型別(下)
小白學 Python(4):變數基礎操作
小白學 Python(5):基礎運算子(上)
小白學 Python(6):基礎運算子(下)
小白學 Python(7):基礎流程控制(上)
小白學 Python(8):基礎流程控制(下)
小白學 Python(9):基礎資料結構(列表)(上)
小白學 Python(10):基礎資料結構(列表)(下)
元組(tuple)
在 Python 中,元組和列表是非常類似的一種資料結構,如果前面有好好看過有關列表的文章的話,只需要抓住一些核心點,可能這篇文章會顯得有些多餘。
先簡單介紹一下元組和列表的區別:
- 元組的元素不能修改
- 元組使用小括號,列表使用方括號
建立元組
用逗號隔開的就是元組,但是為了美觀和程式碼可讀性,一般加小括號。
tuple1 = "Python", "Java", 2011, 2015
print(tuple1)
tuple2 = ("Python", "Java", 2011, 2015)
print(tuple2)
print(type(tuple2))
執行結果如下:
('Python', 'Java', 2011, 2015) ('Python', 'Java', 2011, 2015) <class 'tuple'>
在建立元組的時候可以包含列表,如下:
tuple3 = ("Python", "Java", [1 ,2, 'python', 'java'], 2011, 2015)
print(tuple3)
執行結果:
('Python', 'Java', [1, 2, 'python', 'java'], 2011, 2015)
元組的基本操作
元組的基本操作和列表非常的類似,包括:
- 索引
- 切片
- 連線
- 複製
- 對內部元素迴圈
- 查詢元組中是否有某元素
- 刪除元組
- 返回元組中最大值和最小值
- 獲取元組長度
這麼多操作,我就不分開展示了,直接貼一段程式碼,具體含義已經加在註釋中:
tuple4 = (0 ,1, 2, 3, 4, 5, 6, 7, 8, 9)
print(tuple4)
# 索引
print(tuple4[2])
# 索引
print(tuple4[-2])
# 切片
print(tuple4[0:8:2])
# 切片
print(tuple4[8:1:-1])
tuple5 = (2333, '98k')
# 連線
print(tuple4 + tuple5)
# 迴圈
for index in tuple4:
print(index)
# 查詢元素是否存在
print(1 in tuple4)
print(11 in tuple4)
# 刪除元組
# del tuple5
# print(tuple5)
# 取最大
print(max(tuple4))
# 取最小
print(min(tuple4))
# 元組長度
print(len(tuple4))
# 修改元組
# tuple4[0] = 11
執行結果:
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
2
8
(0, 2, 4, 6)
(8, 7, 6, 5, 4, 3, 2)
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 2333, '98k')
0
1
2
3
4
5
6
7
8
9
True
False
9
0
10
最後一個修改元組會報錯,所以我先註釋掉了,感興趣的同學可以把註釋去掉看下具體報錯內容。
元組與列表間的互相轉化
# 相互轉化
print(type(tuple4))
print(list(tuple4))
print(type(list(tuple4)))
list1 = [0 ,1, 2, 3, 4, 5, 6, 7, 8, 9]
print(type(list1))
print(tuple(list1))
print(type(tuple(list1)))
結果如下:
<class 'tuple'>
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
<class 'list'>
<class 'list'>
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
<class 'tuple'>
- 在列表外套一層
tuple()
就可以轉為元組 - 在元組外套一層
list()
就可以轉為列表
元組解包
# 元組解包
tuple6 = (1, 2, 3)
print(tuple6)
a, b, c = tuple6
print(a, b, c)
結果如下:
(1, 2, 3)
1 2 3
希望各位同學在學習的過程中可以親自動手實踐一下示例程式碼,畢竟自己不敲程式碼是永遠學不會程式碼的:)
示例程式碼
本系列的所有程式碼小編都會放在程式碼管理倉庫 Github 和 Gitee 上,方便大家取用。
示例程式碼-Github
示例程式碼-Gi