一、元组的特点
- 定义
用于存储一组数据的有序序列,一旦创建,元组元组中的各个元素不允许修改 - 特点
(1) 元组有序
(2) 元组是不可变的数据类型,不可修改,但是可以对元组进行连接组合
(3) 元组中可以存储重复的数据
(4) 元组中可以同时存储不同数据类型的数据
(5) 元组中只包含一个元素时,需要在元素后边添加一个逗号消除歧义
(6) 元组中包含列表元素,列表元素内容可以修改 - 创建元组
用小括号()括起来,单个元素括起来后加逗号(,)区分单个对象还是元组
(元素一,元素二,元素三,……)
(1) 创建空元组的字面值
t=()
t=tuple()
(2) 创建非空元组的字面值
d1=tuple("fasadada")
d2=tuple([34,5,6,7,8,9])
- 序列封包与序列解包
(1) 序列封包
把多个值赋给一个变量时,python会自动把多个值封装成元组,称为序列封包
(2) 序列解包
把一个序列(列表、元组、字符串等)直接赋给多个变量,此时会把序列中的各个元素依次赋值给每个变量,但是元素的个数需要和变量的个数相同,这个称为序列解包
(3) 什么叫序列
序列可以理解为可以进行切片、相加相乘、索引、成员资格、(用关键字in、not in关键字判断某个元素在不在这个序列)的数据结构
Python中内置的三种数据结构:列表、元组、字典,只有字典不是序列,字符串
Isinstance(x,tuple):判断x是否为元组,如果x是元组返回true,否则返回false
二、元组的综合案例
- 元组定义
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))
- 强制转换
字符串强转为元组时,将字符串中的每一个字符作为一个元素转换
d1=tuple("fasadada")
print(d1)
d2=tuple([34,5,6,7,8,9])
print(d2,type(d2))
- 元组的访问:和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]) - 一个元素的元组
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"
- 修改元组的值
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的写作方法,有些地方会出现排版错误,在这里先给大家道个歉哈,大家如果喜欢我的干货,可以点赞关注一下。谢谢大家啦!!!