python入门到精通(三)| 元组

python入门到精通(三)| 元组

一、元组的特点

  1. 定义
    用于存储一组数据的有序序列,一旦创建,元组元组中的各个元素不允许修改
  2. 特点
    (1) 元组有序
    (2) 元组是不可变的数据类型,不可修改,但是可以对元组进行连接组合
    (3) 元组中可以存储重复的数据
    (4) 元组中可以同时存储不同数据类型的数据
    (5) 元组中只包含一个元素时,需要在元素后边添加一个逗号消除歧义
    (6) 元组中包含列表元素,列表元素内容可以修改
  3. 创建元组
    用小括号()括起来,单个元素括起来后加逗号(,)区分单个对象还是元组
    (元素一,元素二,元素三,……)
    (1) 创建空元组的字面值
t=()
t=tuple()

(2) 创建非空元组的字面值

d1=tuple("fasadada")
d2=tuple([34,5,6,7,8,9])

  1. 序列封包与序列解包
    (1) 序列封包
    把多个值赋给一个变量时,python会自动把多个值封装成元组,称为序列封包
    (2) 序列解包
    把一个序列(列表、元组、字符串等)直接赋给多个变量,此时会把序列中的各个元素依次赋值给每个变量,但是元素的个数需要和变量的个数相同,这个称为序列解包
    (3) 什么叫序列
    序列可以理解为可以进行切片、相加相乘、索引、成员资格、(用关键字in、not in关键字判断某个元素在不在这个序列)的数据结构
    Python中内置的三种数据结构:列表、元组、字典,只有字典不是序列,字符串
    Isinstance(x,tuple):判断x是否为元组,如果x是元组返回true,否则返回false

二、元组的综合案例

  1. 元组定义
a=()
b=tuple()
c=(1,2,3,4,5,6,7,8,9)
d=(23,"afdasf",67,[1,2,3,4,4],8,88,(23,4,5,89))
print(a,type(a),len(a))
print(a,type(b),len(b))
print(a,type(c),len(c))
print(a,type(d),len(d))
  1. 强制转换
    字符串强转为元组时,将字符串中的每一个字符作为一个元素转换
d1=tuple("fasadada")
print(d1)
d2=tuple([34,5,6,7,8,9])
print(d2,type(d2))
  1. 元组的访问:和list一样
    c=(1,2,3,4,5,6,7,8,9)
    d=(23,“afdasf”,67,[1,2,3,4,4],8,88,(23,4,5,89))
    print(c[0],c[1],c[-1],c[-2])
    print(d[0],d[1][1],d[-1][-1])
  2. 一个元素的元组
f1=234,
f2=(345,)
f3=234
f4=123,456,789,
f5,f6,f7=123,456,789
print(f1,type(f1))
print(f2,type(f2))
print(f3,type(f3))
print(f4,type(f4))
print(f5,type(f5))
print(f6,type(f6))
print(f7,type(f7))
f8,f9=[1,2]
print(f8,type(f8))
print(f9,type(f9))
t=200, 
t=200
t=(20,)
t=(1,2,3)
t=100,200,300
t=(20)
x,y,z=100,200,300
x,y,z=(100,200,300)
x,y,z="ABC"
  1. 修改元组的值
d=(23,"asdada",67,[1,2,3,4,4],88,88,(23,4,5,89),{45,67,89})
d[3][1]="w"
print(d)

不修改字符串对象数据,否则出现
TypeError: ‘tuple’ object does not support item assignment
元组中的元组也不能修改,集合类型不能修改
列表可以修改,字符串不可以修改
6. 判断数据类型

e1=()
e2=[]
e3={}
e4=("name","age")
print(isinstance(e1,tuple))
print(isinstance(e2,tuple))
print(isinstance(e3,tuple))
print(isinstance(e4,tuple))

x=(1,2)*3
print("x=",x)
x=(1,2,3)
x*=2
print(x)
y=(4,5,6)

x=(1,"low",3)
2in x
3in x
4not in x
5in x
"""
tuplex=(1,2,3,4,5,6,7,8,9,7,8,9,5,4,6)
print(tuplex[1:2:1])

t=()
for x in tuple(range(1,10)):
    t +=(x**2,)
print(t)
l = [x**2 for x in range(1,10)]
t=tuple(l)
print(t)

———————————————————————————————————————
今天就分享到这里啦!以后没有特殊情况的话会每天更新一篇,由于现在还有点没搞懂这个csdn的写作方法,有些地方会出现排版错误,在这里先给大家道个歉哈,大家如果喜欢我的干货,可以点赞关注一下。谢谢大家啦!!!

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

辣条哟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值