­

小白学 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