1.不可变数据类型与可变数据类型
数值型,字符串,bool都是不可变数据类型
list是可变数据类型:<有增删改查>
数据类型含有:int,float,complex(复数),str,list,bool
2.元组的英文tuple,定义元组:空元组,单个值元组,普通元组
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可;
tuple = ("hello") #字符串
print(type(tuple))
tuple1 = ("python",) #单个值元组
print(type(tuple1))
tuple2 = () #空元组
print(type(tuple2))
tuple3 = (2,"hello",[1,2,3]) #普通元组
print(type(tuple3))
3.元组的索引
t = (1, 2, 3, "hello")
print(type(t))
输出结果:<class 'tuple'>
print(t[0]) #打印元组的第一个元素
输出结果:1
4.元组进行切片
print(t[1:]) #打印元组除第一个元素的其他元素
输出结果:(2, 3, 'hello')
print(t[:-1]) #打印元组除了最后一个元素的其他元素
输出结果:(1, 2, 3)
print(t[::-1]) #反转元素
输出结果:('hello', 3, 2, 1)
5.元组可以重复
t = (1, 2, 3, "hello")
print(t*3) #重复出现三次
输出结果:(1, 2, 3, 'hello', 1, 2, 3, 'hello', 1, 2, 3, 'hello')
元组不能和其他字符串,列表进行连接,只能和元组进行连接
print(t+[5,6,7])
报错:TypeError: can only concatenate tuple (not "list") to tuple
print(t+(5,6,7))
输出结果:(1, 2, 3, 'hello', 5, 6, 7)
.如果想要将列表与元组连接,可以将列表强制转化为元组,然后在进行连接
print(t+tuple([5,6,7]))
输出结果:(1, 2, 3, 'hello', 5, 6, 7)
6,元组可以进行成员操作符;
print("hello" in t)
输出结果:True
print("hello" not in t)
输出结果:False
7.枚举:将字符串里面的元素与索引值一一对应;enumerate(专业术语:列举)
for index,item in enumerate(t):
print(index,item)
输出结果:
0 1
1 2
2 3
3 hello
如果希望知道某元素在第几位,按顺序排列,给索引值加一
print(index+1,item)
输出结果:
1 1
2 2
3 3
4 helllo
8, x, y = y, x的赋值过程
x = int(input("请输入x变量的值:"))
y = int(input("请输入y变量的值:"))
tuple = (y , x)
x = tuple[0]
y = tuple[1]
print("x,y的值分别为:%d,%d"%(x,y))
另外方法:
tuple = ("prthon" , "java")
print("hello %s, hello %s"%(tuple[0],tuple[1])) #下面公式可以分解为该公式;
print("hello %s, hello %s" %(tuple))
9.元组的赋值
tuple = ("xiaoming", 18, 50)
name, age, weight = tuple
print(name, age, weight)
输出结果:xiaoming 18 50
10.列表的赋值
list = ["xiaoming", 18, 50] ###注意赋值只能一一对应,不能缺少也不能多处,否则会报错
name, age, weight = list
print(name, age, weight)
输出结果:xiaoming 18 50
11,元组中的元素是不允许修改的,可以将两个yuan元素合并为一个新的元素
t1 = (1,2,3,"hello") t2 = ("xiaoming", 18, 50) t3 = t1 + t2 print(t3) 输出结果:(1, 2, 3, 'hello', 'xiaoming', 18, 50)
12,删除元组
元组中的元素值是不允许删除的,但我们可以使用del语句来删除整个元组
t1 = (1,2,3,"hello") t2 = ("xiaoming", 18, 50) del t2 print(t1) print(t2) 输出结果为: (1, 2, 3, 'hello') NameError: name 't2' is not defined