• 售前

  • 售后

热门帖子
入门百科

Python底子数据类型tuple元组的概念与用法

[复制链接]
银鲜目江探 显示全部楼层 发表于 2021-8-13 14:45:35 |阅读模式 打印 上一主题 下一主题
目次


  • 元组简单介绍
  • 声明元组
  • 元组与列表的区别
  • 特殊的元组
  • 元组的简写
  • 元组常见运算利用

    • 索引 [ ] 取值
    • 切片 [ : : ] 取值
    • 运算符 +
    • 运算符 *
    • 关键字 in

  • 常见函数

    • max(元组) 函数
    • min(元组) 函数

  • 元组常见方法

    • index(item)
    • count(value)

  • 元组总结

元组简单介绍


元组是一个和列表和相似的数据范例,也是一个有序序列
两者拥有着根本相同的特性,但是也有很多差别的地方

声明元组

  1. var = (1, 2, 3)
  2. var = ("1", "2", "3")
  3. var = (True, False)
  4. var = (1.1, 1.11, 1.111)
  5. var = ((1,), (2, 3), (4, 5))
  6. var = ([1, 2], {"name": "polo"})
复制代码
元组与列表的区别


元组与列表很相似,都是有序的只读序列,两者有相同的方法和利用运算,区别在于:
列表创建后,可以进行修改
元组创建后,不能进行修改
  1. lis = [1, 2, 3]
  2. lis[0] = 111
  3. print(lis)
  4. tupl = (1, 2, 3)
  5. tupl[0] = 2
  6. # 输出结果
  7. Traceback (most recent call last):
  8.   File "/Users/polo/Documents/pylearn/第一章:python 基本类型/6_tuple元组.py", line 21, in <module>
  9.     tupl[0] = 2
  10. TypeError: 'tuple' object does not support item assignment
复制代码
究极缘故起因在于
列表是可变对象,而元组是不可变对象,具体详解可以参考
//www.jb51.net/article/218564.htm

特殊的元组


如果一个元组没有包含任何元素,利用 () 表示一个空元组
  1. # 空
  2. tup = ()
  3. print(tup, type(tup))
  4. # 输出结果
  5. () <class 'tuple'>
复制代码
如果一个元组只包含一个元素,要怎么表示?
  1. # 只包含一个元素
  2. tup = (1)
  3. print(tup, type(tup))
  4. # 输出结果
  5. 1 <class 'int'>
复制代码
哎!竟然是 1,似乎是哦,( ) 就是数学运算常见的括号呀,那到底要怎么表示呢
精确表示元组只包含一个元素
  1. # 正确
  2. tup = (1,)
  3. print(tup, type(tup))
  4. # 输出结果
  5. (1,) <class 'tuple'>
复制代码
必要在元素后加一个逗号,利用 (item, ) 表示该元组
总结
(123, ) 表示的是一个元组,元组中包含一个整数 123
(123) 表示的是一个带括号的表达式,整数 123 嵌入括号中

元组的简写


当元组在 = 右边的时候,可以省略括号
  1. # 等价写法
  2. a = 1, 2
  3. print(a, type(a))
  4. a = (3, 4)
  5. print(a, type(a))
  6. a = 1,
  7. print(a, type(a))
  8. a = (3,)
  9. print(a, type(a))
  10. # 输出结果
  11. (1, 2) <class 'tuple'>
  12. (3, 4) <class 'tuple'>
  13. (1,) <class 'tuple'>
  14. (3,) <class 'tuple'>
复制代码
元组常见运算利用



索引 [ ] 取值

  1. # 索引
  2. tup = [1, 2, 3, 4, 5]
  3. print(tup[0])
  4. print(tup[-1])
  5. print(tup[2])
  6. # 输出结果
  7. 1
  8. 5
  9. 3
复制代码
切片 [ : : ] 取值


和列表一样,元组也可以切片
利用语法:元组[start : end : step],获取元组中在 [start, end) 范围的子元组
留意范围 [start, end) 包含 start,不包含 end
step 是步长,设为 n,则每隔 n 个元素获取一次
  1. # 切片
  2. tup = [1, 2, 3, 4, 5, 6, 7, 8]
  3. print(tup[:])  # 取全部元素
  4. print(tup[0:])  # 取全部元素
  5. print(tup[2:5])  # 取第 3 个元素到第 5 个元素
  6. print(tup[::-1])  # 倒序取所有元素
  7. print(tup[-3:-1])  # 取倒数第 3 个元素到倒数第 2 个元素
  8. # 输出结果
  9. [1, 2, 3, 4, 5, 6, 7, 8]
  10. [1, 2, 3, 4, 5, 6, 7, 8]
  11. [3, 4, 5]
  12. [8, 7, 6, 5, 4, 3, 2, 1]
  13. [6, 7]
复制代码
运算符 +


利用运算符 + 毗连多个元组
  1. # +
  2. tup1 = (1,)
  3. tup2 = (2, 3)
  4. print(tup1 + tup2)
  5. # 输出结果
  6. (1, 2, 3)
复制代码
运算符 *


利用运算符 * 将元组的元素重复
  1. # *
  2. tup = (1, 2)
  3. print(tup * 2)
  4. # 输出结果
  5. (1, 2, 1, 2)
复制代码
关键字 in


通过关键字 in 查抄列表中是否包含指定元素,返回 bool 值
not in 则是取反
  1. # in
  2. tup = (1, 2, 3)
  3. print(1 in tup)
  4. print(22 not in tup)
  5. # 输出结果
  6. True
  7. True
复制代码
常见函数


len(元组) 函数
  1. # len
  2. tup = (1, 2, 3)
  3. print(len(tup))
  4. # 输出结果
  5. 3
复制代码
max(元组) 函数

  1. # max
  2. tup = (1, 2, 3)
  3. print(max(tup))
  4. # 输出结果
  5. 3
复制代码
min(元组) 函数

  1. # min
  2. tup = (1, 2, 3)
  3. print(min(tup))
  4. # 输出结果
  5. 1
复制代码
元组常见方法


元组与列表很相似,两者都表示一个有序的序列,它们的区别在于:
       
  • 列表创建后,可以进行修改   
  • 元组创建后,不能进行修改
这点在可变对象、不可变对象文章都写了

index(item)


在元组中查找指定元素 item
如果找到元素 item,则返回元素 item 的索引
如果找不到,则抛出非常
  1. # index
  2. tup = (1, 2, 3)
  3. print(tup.index(1))
  4. print(tup.index(11))
  5. # 输出结果
  6. 0
  7. Traceback (most recent call last):
  8.   File "/Users/Documents/pylearn/第一章:python 基本类型/6_tuple元组.py", line 88, in <module>
  9.     print(tup.index(11))
  10. ValueError: tuple.index(x): x not in tuple
复制代码
count(value)


返回元素 value 在元组中出现的次数
  1. # count
  2. tup = (1, 2, 1)
  3. print(tup.count(1))
  4. print(tup.count(11))
  5. # 输出结果
  6. 2
  7. 0
复制代码
元组总结


因为元组是不可变对象,所以元组一样平常得当用来存储稳固的数据
到此这篇关于Python底子数据范例tuple元组的概念与用法的文章就介绍到这了,更多相关Python数据范例tuple元组内容请搜刮脚本之家以前的文章或继承欣赏下面的相关文章渴望各人以后多多支持脚本之家!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作