Python 语言之 - 元组

清疚 2022-12-08 15:50 241阅读 0赞

8839c7ac62b1bec5bc96d4a242def09b.png

Python 的元组是一个不可修改的元素的集合,元素间用逗号隔开。元组和列表类似,但是不同点是元组的值一旦设定不能修改,列表的元素设定后仍然可以修改。因为元组不可修改,所以元组的操作要快于列表。因为元组不能修改,所以可以用作字典的键值。元组也可以用来实现函数同时返回多个值。

创建元组

使用小括号定义元组,空的小括号对定义一个空元组。

例子

  1. a_tuple = () #空元组
  2. print(a_tuple)

输出

  1. ()

创建有值的元组

例子

  1. a_tuple = ('东','西','南','北')
  2. print(a_tuple)

输出

  1. (‘东’,’西’,’南’,’北’)

Python 元组可以使用混合的数据类型

例子

  1. a_tuple = (1,2,'星期日','星期一',3.14)
  2. print(a_tuple)

输出

  1. (1, 2, ‘星期日’, ‘星期一’, 3.14)

例子

  1. a_tuple = ('1899-10-34', ['戏剧', '双城记'])
  2. print(a_tuple)

输出

  1. (‘1899-10-34’, [‘戏剧’, ‘双城记’])

访问元组的值

使用方括号 [] 加索引号,可以访问单独的元素。

例子

  1. a_tuple = (1,2,'星期日','星期一',3.14)
  2. print(a_tuple[0]) # 打印第一个
  3. print(a_tuple[1]) # 打印第二个
  4. print(a_tuple[-1]) # 打印最后一个
  5. print(a_tuple[-2]) # 打印倒数第二个

输出

  1. 1
  2. 2
  3. 3.14
  4. 星期一

增加元组

例子

  1. a_tuple = ('1899-10-34', ['戏剧', '双城记'])
  2. print(a_tuple)
  3. print(a_tuple[0]) # 打印第一个
  4. print(a_tuple[1]) # 打印第二个

输出

  1. (‘1899-10-34’, [‘戏剧’, ‘双城记’])
  2. 1899-10-34
  3. [‘ 戏剧 ‘, ‘双城记’]

循环和元组

例子

  1. a_tuple = ('东','西','南','北')
  2. for dir in a_tuple:
  3. print (dir)

输出

  1. 西

带索引号的元组输出

例子

  1. a_tuple = ('东','西','南','北')
  2. for i,dir in enumerate(a_tuple):
  3. print (i, " " , dir)

输出

  1. 0
  2. 1 西
  3. 2
  4. 3

元组的连接

添加多个元组在一起,可以使用连接操作符 “+”。

例子

  1. a_tuple = ('东','西','南','北')
  2. b_tuple = (1,2,3,4,5)
  3. c_tuple = a_tuple + b_tuple
  4. print(c_tuple)

输出

  1. (‘东’,’西’,’南’,’北’, 1, 2, 3, 4, 5)

元组的长度

函数 len 返回元组的长度,也就是元组包含的元素的个数。

例子

  1. a_tuple = ('东','西','南','北')
  2. i = len(a_tuple)
  3. print(i)

输出

  1. 4

元组的切割

基于开始和结束两个参数,切割截取元组的元素。

例子

  1. a_tuple = ('东','西','南','北')
  2. slc = a_tuple[1:3]
  3. print(slc)

输出

  1. (‘西’, ‘南’)

索引是从0开始,所以 str[1:3] 表示从第二个元素开始。参数3表示到第四个元素截止,但不包括第四个元素。中间的冒号,表示对列表的元素进行切割。

例子

  1. a_tuple = ('东','西','南','北')
  2. slc = a_tuple[:2] # 切割出前两个
  3. print(slc)

输出

  1. (‘东’, ‘西’)

例子

  1. a_tuple = ('东','西','南','北')
  2. slc = a_tuple[2:] # 切割出第三个元素后的,索引是从0开始
  3. print(slc)

输出

  1. (‘南’, ‘北’)

元组项的删除

元组是常性的,意思是,元组一旦创建,它包含的元素就不能被更改 。使用 del 语句,可以直接删除整个元组。

例子

  1. a_tuple = ('东','西','南','北')
  2. del a_tuple
  3. print(a_tuple)

输出

  1. Traceback (most recent call last): File sample.py”, line 8, in < module > print(a_tuple)
  2. NameError: name a_tuple is not defined

元组的更新

元组是不可编辑的,一旦被赋值,就不能被改变了。但是如果它的元素是可以被编辑的,例如列表,它内部嵌套的项还是可以被改变的。

例子

  1. a_tuple = (1,2,3,4,[5,6])
  2. a_tuple[4][1]=12
  3. print(a_tuple)

输出

  1. (1, 2, 3, 4, [5, 12])

利用元组返回多个值

函数总是返回一个单独的值,但是利用元组,可以将多个值组合成元组,然后一次性的返回。

例子

  1. def multi():
  2. a=100
  3. b=200
  4. return (a,b)
  5. x,y = multi()
  6. print(x)
  7. print(y)

输出

  1. 100
  2. 200

元组的嵌套

例子

  1. a_tuple = (1,2,3,4,5)
  2. b_tuple = ('a','b','c','d','3')
  3. c_tuple = (a_tuple,b_tuple)
  4. print(c_tuple)

输出

  1. ((1, 2, 3, 4, 5), (‘a’, b’, c’, d’, 3’))

列表转换到元组

使用 tuple() 方法可以将一个列表转换成元组。

例子

  1. a_list = [1,2,3,4,5]
  2. a_tuple = tuple(a_list)
  3. print(a_tuple)

输出

  1. (1, 2, 3, 4, 5)

重复元组

使用 * 操作符可以将一个元组重复若干次。

例子

  1. a_tuple = ('halo','world')
  2. a_tuple = a_tuple * 2
  3. print(a_tuple)

输出

  1. (‘halo’, world’, halo’, world’)

元组的重复性统计

元组的 count(x) 返回 x 在元组中出现的次数。

例子

  1. a_tuple = ('h','e','l','l','o')
  2. cnt=a_tuple.count('l')
  3. print(cnt)

输出

  1. 2

zip() 方法

利用 zip() 方法,可以同时循环遍历多个序列。

例子

  1. a_tuple = (1,2,3,4,5)
  2. b_tuple = ('a','b','c','d','e')
  3. for num, alp in zip(a_tuple,b_tuple):
  4. print(num, alp)

输出

  1. 1 a
  2. 2 b
  3. 3 c
  4. 4 d
  5. 5 e

元组的 min(), max()

min() 返回元组的最小值,max() 返回元组的最大值。

例子

  1. a_tuple = (1,2,3,4,5)
  2. print(min(a_tuple))
  3. print(max(a_tuple))

输出

  1. 1
  2. 5

更多内容待续……

  • Python 合并字典
  • Python 列表推导
  • Python 列表排序
  • Python 集合
  • Python 字典
  • Python 列表 List
  • Python with 语句

发表评论

表情:
评论列表 (有 0 条评论,241人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Python 学习

    元组:不可修改的序列 tuple(读音是 /tuːpəl/ 或 /tʌpəl/)与列表一样,元组也是序列,唯一的差别在于元组是不能修改的(你可能注意到了,字符串也不能修改