当前位置: 首页 > news >正文

python之元组类型内置方法

python之元组类型内置方法

文章目录

  • python之元组类型内置方法
    • 一.作用
      • 1.元组与列表
      • 2.元组的作用
    • 二.定义方式
      • 元组不可变解析
    • 三.常用操作 + 内置方法
    • 优先掌握的操作(***)
      • 1.按照索引取值 (正向取 + 反向取) : 只能取
      • 2.切片 (顾头不顾尾 + 步长)
      • 3、长度 : .len()
      • 4、成员运算 int和 not in
      • 5、循环
    • 需要掌握的操作()
      • 1.统计个数 : .count()
      • 2.查找索引 : .index()
    • 四.总结

一.作用

1.元组与列表

  • 元组其实就是不可变的列表
  • 列表可读可改, 而元组只读不能改
  • 同等数据类型下, 元组更加节省空间, 并且效率更高于列表
  • 因为元组底层只提供读的机制, 而列表既有读也有改的机制

2.元组的作用

  • 显而易见, 也是按照位置存放多个值, 索引对应值

二.定义方式

  • “( )” 内用逗号分隔开多个任意类型的元素
  • 如果元组内只包含一个元素, 那么需要用逗号隔开: (111,)
  • 元组不可变指的是第一层元素的内存地址不能改变
  • 如果第一层里面包含一个子列表, 那么子列表的内存地址不能改变, 但可以改变子列表里面的元素(列表可变类型)
  • “工厂” : tuple
?定义
l=(11,11.11,"aaa",[222,333])  #背后调用 l=tuple(...)

?定义单个值需要加逗号(没加就只是包含的意思)
x = (18)
y = (18,)
print(type(x))  #<class 'int'>
print(type(y))  #<class 'tuple'>
  • 元组不可变解析

?元组的不可变类型解析
tup = (111,"aaa",[222,333])
print(id(tup[0]),id(tup[1]),id(tup[2]))
#140709693587136 2763387504816 2763386278472

tup[0] = 222  #报错
tup[1] = 333  #报错
tup[2] = 333  #报错

?当改变子列表内元素时
tup[2][0] = 333
print(tup[2])  #[333, 333]

?修改完成后查看, 元组第一层元素的"id"没有改变
print(id(tup[0]),id(tup[1]),id(tup[2]))
#140709693587136 2763387504816 2763386278472

三.常用操作 + 内置方法

优先掌握的操作(***)

1.按照索引取值 (正向取 + 反向取) : 只能取

tup = (111,222,333,444,555)
?正向取
print(t[0])   #111

?反向取
print(t[-1])  #555

2.切片 (顾头不顾尾 + 步长)

tup = (111,222,333,444,555,666)
?顾头不顾尾
print(t[0:3])   # (111,222,333)

?反转
tup2 = tup[::-1]
print(tup2)  #(666,555,444,333,222,111)

3、长度 : .len()

tup = (111,222,333,444,555,666)
print(len(tup))  # 6

4、成员运算 int和 not in

  • 判断的是否只是在第一层元素中
tup = (111,"aaa",[222,333])
print(111 in tup)  #True
print(222 in tup)  #False
print([222,333] in tup)  #True

5、循环

tup = (111,"aaa",[222,333])
for i in tup:
    print(i)
# 111
# aaa
# [222, 333]

需要掌握的操作()

1.统计个数 : .count()

  • 查看的是一个元素在元组中的个数, 查看的只是第一层
tup = (111,"aaa",222,222,[222,333])
print(tup.count(222))  # 2

2.查找索引 : .index()

  • 找到指定字符在列表中的索引, 可以指定范围查找
  • 元组中没有像字符串中 : find、rfind、rindex 的这些方法
  • 只是在第一层查找
tup = (111,"aaa",222[222,333])
print(tup.index("aaa",1,3))  # 1

四.总结

  • 可以存多个值
  • 有序, 依赖索引取值
  • 不可变类型—>可 hash 类型

相关文章:

  • python之字典类型内置方法
  • python集合类型内置方法
  • python文件处理之编码字符
  • python文件处理
  • 函数的基本使用
  • python之迭代器
  • python之三元表达式、生成式、生成器表达式
  • 面向过程编程思想与匿名函数及其应用
  • python之函数递归与调用
  • python之二分法
  • python之json模块
  • python之pickle模块
  • python之time与datetime模块
  • python之random模块
  • python之os模块
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • angular学习第一篇-----环境搭建
  • Fastjson的基本使用方法大全
  • iOS 系统授权开发
  • Javascript弹出层-初探
  • js如何打印object对象
  • Linux各目录及每个目录的详细介绍
  • 从伪并行的 Python 多线程说起
  • 第2章 网络文档
  • 诡异!React stopPropagation失灵
  • 利用jquery编写加法运算验证码
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 新书推荐|Windows黑客编程技术详解
  • 硬币翻转问题,区间操作
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 数据可视化之下发图实践
  • # 达梦数据库知识点
  • #if #elif #endif
  • ( )的作用是将计算机中的信息传送给用户,计算机应用基础 吉大15春学期《计算机应用基础》在线作业二及答案...
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (12)Hive调优——count distinct去重优化
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (分布式缓存)Redis哨兵
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (数据结构)顺序表的定义
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转载)Linux 多线程条件变量同步
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .gitignore文件设置了忽略但不生效
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • .NET是什么
  • .Net中间语言BeforeFieldInit
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——
  • [2016.7 Day.4] T1 游戏 [正解:二分图 偏解:奇葩贪心+模拟?(不知如何称呼不过居然比std还快)]