列表:打了激素的数组
元组:带了紧箍咒的列表;不可变数据类型,没有增删改查;可以存储任意数据类型
元组的创建
In [1]: t = (1,1.2,True,'westos')
In [2]: type(t)
Out[2]: tuple
如果元组里面包含可变数据类型,可以间接修改元组内容
t1 = ([1,2,3],4)
t1[0].append(4)
print(t1)
t2 = ()
print(t2)
t3 = tuple([])
print(t3)
l4 = list(())
print(l4)
元组如果只有一个元素,后面一定要加逗号,否则数据类型不确定
t4 = (1,)
print(t4,type(t4))
元组的特性
tuple = (1,1.0,True,'westos')
索引
print(tuple[0])
print(tuple[-1])
切片
print(tuple[1:])
print(tuple[:-1])
print(tuple[::-1])
连接
不同的数据类型可以连接麼(除了数值类型之外,不同的数据类型之间不可以连接)
print(tuple + (1,2,3))
print(tuple + [4,5,6]) #出现报错
print(tuple + 'westos') #出现报错
重复
print(tuple * 5)
for循环
for i in tuple:
print(i)
成员操作符
print(1 in tuple)
print(1 not in tuple)
查看元素的索引值
t = (1,2,'a','c','a')
print(t.index('c'))
查看元素在元组中出现的次数
print(t.count('a'))
元组的应用
变量交换数值
a = 1
b = 2
b,a = a,b
# 1.先把(a,b)封装成了一个元组 (1,2)
# 2. b,a = a,b ===> b,a = (1,2)
# 3. b = (1,2)[0] a =(1,2)[1]
print(a,b)
打印变量值
name = 'westos'
age = 11
t = (name,age)
print('name:%s,age:%d' %(name,age))
print('name:%s,age:%d' %t)
元组的赋值
有多少个元素,就用多少个变量接收
t = ('Westos',10,100)
name,age,score = t
print(name,age,score)
排序
先对元组进行转换,转换成列表
scores = (100,89,45,78,65)
scoreli = list(scores)
scoreli.sort() #python2中
print(scoreli)
scores_sort = sorted(scores) #python3中
print(scores_sort)
例:比赛计分器
scores = (100,89,98,60,90,67)
#scores.sort()
scores = sorted(scores)
print(scores)