Python3入門教程:基礎數據結構(元組)

人生苦短,我選Python

元組(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)

對Python感興趣或者是正在學習的小夥伴,可以加入我們的Python學習扣qun:855408893 ,從0基礎的python腳本到web開發、爬蟲、django、數據挖掘數據分析等,0基礎到項目實戰的資料都有整理。送給每一位python的小夥伴!每晚分享一些學習的方法和需要注意的小細節,學習路線規劃,利用編程賺外快。點擊加入我們的 python學習圈

元組的基本操作

元組的基本操作和列表非常的類似,包括:

  • 索引
  • 切片
  • 連接
  • 複製
  • 對內部元素循環
  • 查找元組中是否有某元素
  • 刪除元組
  • 返回元組中最大值和最小值
  • 獲取元組長度

這麼多操作,我就不分開展示了,直接貼一段代碼,具體含義已經加在註釋中:

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

希望各位同學在學習的過程中可以親自動手實踐一下示例代碼,畢竟自己不敲代碼是永遠學不會代碼的:)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章