小白學 Python(11):基礎數據結構(元組)

  • 2019 年 11 月 1 日
  • 筆記

人生苦短,我選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

示例程式碼-Gitee