python 开发 -- 14元组类型内置方法

Posted FikL-09-19

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 开发 -- 14元组类型内置方法相关的知识,希望对你有一定的参考价值。

文章目录

一.作用

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'>

# 一个元组
j=(1,)  #加上逗号
print(j,type(j))

(1,) <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

四.总结

  • 可以存多个值

  • 有序, 依赖索引取值

只是在第一层查找

tup = (111,"aaa",222[222,333])
print(tup.index("aaa",1,3))  # 1

四.总结

  • 可以存多个值

  • 有序, 依赖索引取值

  • 不可变类型—>可 hash 类型

以上是关于python 开发 -- 14元组类型内置方法的主要内容,如果未能解决你的问题,请参考以下文章

Python列表元组字典集合的内置使用方法

python基础-元组(tuple)及内置方法

python基本数据类型之列表和元组

python基础内置类型及方法

Python3-内置类型-列表与元组类型

数据类型内置方法