0
点赞
收藏
分享

微信扫一扫

python-元组

ixiaoyang8 2023-03-10 阅读 85

元组

​ 元组和列表相似,但是元组中的元素不能修改仅供查看。元组使用小括号:();列表使用方括号[]。tuple :表示元组; list :表示列表

元组的定义

  • ​ 元组名=() --->定义空元组
  • 元组名=(’元素‘,)--->单个元素的元组需要在元素后加个逗号
  • ​ 元组名=(‘元素’,’元素‘) --->多个元素的元组的定义

​ 注意:只有一个元素的元组的定义和多个元组定义的不同

# 例:定义元组
# 空元组
a = ()
print(type(a))  # 结果:---><class 'tuple'>
print(a)  # 结果:--->()
# 单个元素的元组
b = ('aa',)  # 结果:--->('aa',),单个元素必须在元素后面加逗号
c = ('a', 'b', '1', '2')  # 结果:--->('a', 'b', '1', '2')
print(b)
print(c)

下标与切片

​ 元组中的元素也对应了下标,可以通过下标来查找对应位置的元素,也可以通过下标切片:tuple[1:3:-1]。

# 例:下标与切片
a = (1, 2, 3, 4, 5, 6, 7, 8, 9, 0)
print(a[0])  # 结果:--->1
print(a[1:4])  # 结果:--->(2, 3, 4)
print(a[::-1])  # 结果:--->(0, 9, 8, 7, 6, 5, 4, 3, 2, 1)

可用操作

  • index:找到对应位置的下标

    ​ 格式:a=tuple.index(元素,起始位置,结束位置),index都可以这么用

  • count:计数,统计元组中的元素个数

  • len:求长度

  • in, not in

  • for i in tuple:

  • while

# 例:操作
# index
n = a.index(3)
print(n)  # 结果:--->2
# count
n = a.count(3)
print(n)  # 结果:--->1
# len
n = len(a)
print(n)  # 结果:--->10
# in
if 1 in a:
    print(True)  # 结果:--->True
# for
for i in a:
    print(i)  # 结果:--->1,2,3,4,5,6,7,8,9,0

修改元组的方法

​ 用类型转换,将元组强制转换成列表,通过修改列表来增删改,改完在把列表转换成元组。

  • list(tuple) ---> 元组转列表
  • tuple(list) ---> 列表转元组
# 例:修改元组
b = list(a)
b.append('a')
a = tuple(b)
print(a)  # 结果:--->(1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 'a')

拆包与装包

​ 概念理解:将元组拆解成一个一个的元素,这些元素可以单独装包给一些变量,这是可以一个元素装一个变量,也可以多个元素装一个变量。拆包这个不仅可以在元组上使用,列表、字典都可以。

  • 拆包格式:变量a,变量b....=元组1/列表1/字典1

    ​ 拆包注意事项:变量设置的个数要与元组/列表/字典中的元素个数要对应,,过多过少都不好。

  • 数据类型的改变

    ​ 通过拆包分出来的元素,他们的数据类型都会改变。在拆包、装包时用通配符会将元素都会变成列表类型。在输出时使用通配符也会将其原有数据类型的特征去掉。

# 例:元组拆包与装包
a = ('1', '2', '3', '4', '5', '6', '7')
b, c, d, *e = a
print(b, c, d)  # 结果:--->1 2 3
print(type(b))  # 结果:---><class 'str'>
print(e)  # 结果:--->['4', '5', '6', '7']
print(type(e))  # 结果:---><class 'list'>
print(*a)  # 结果:--->1 2 3 4 5 6 7
# 例:字典拆包与装包
a = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
q, w, *e = a
print(q)  # 结果:--->a
print(type(q))  # 结果:---><class 'str'>
print(e)  # 结果:--->['c', 'd', 'e']
print(*e)  # 结果:--->c d e
print(type(e))  # 结果:---><class 'list'>
print(*a)  # 结果:--->a b c d e
# 例:列表拆包与装包
a = [1, 2, 3, 4, 5, 6, 7, 8]
g, h, j, *f = a
print(g)  # 结果:--->1
print(type(g))  # 结果:---><class 'int'>
print(f)  # 结果:--->[4, 5, 6, 7, 8]
print(type(f))  # 结果:---><class 'list'>
print(*a)  # 结果:--->1 2 3 4 5 6 7 8

​ 注意输出方式与输出结果,理解通配符的作用以及拆包与装包操作。

举报

相关推荐

Python-元组

Python 元组

python元组

Python——元组

Python-字典

python-报错

Python-类

Python-继承

0 条评论