元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器

  1. 元组的创建
    列表:打了激素的数组
    元组:带了紧箍咒的列表
    不可变数据类型,没有增删改查
    可以存储任意数据类型

定义元组:

t = (1,1.2,True,‘westos’)
print(t,type(t))
运行:
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第1张图片

如果元素中包含可变数据类型,可以间接的修改元组内容

t1 = ([1,2,3],4)
t1[0].append(4)
print(t1)
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第2张图片

t2 = ()
print(t2)
t3 = tuple([])
print(t3)
l4 = list(())
print(l4)
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第3张图片

元组如果只有一个元素,后面一定要加逗号,否则数据类型不确定

t4 = (1,)
print(t4,type(t4))
测试运行:
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第4张图片
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第5张图片

  1. 元组的特性

tuple = (1,1.0,True,‘westos’)

索引

print(tuple[0])
print(tuple[-1])
运行测试:
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第6张图片

切片:

print(tuple[1:])
print(tuple[:-1])
print(tuple[::-1])
运行:
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第7张图片

连接;
不同的数据类型可以连接麼(除了数值类型之外,不同的数据类型之间不可以连接)

print(tuple + (1,2,3))
print(tuple + [4,5,6])
print(tuple + ‘westos’)
运行:
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第8张图片
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第9张图片
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第10张图片

重复:

print(tuple * 5)
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第11张图片

for循环:

for i in tuple:
print(i)
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第12张图片

成员操作符

print(1 in tuple)
print(i not in tuple)
运行
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第13张图片

  1. 元组的常用方法

t = (1,2,‘a’,‘c’,‘a’)

查看元素的索引值

print(t.index(‘c’))
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第14张图片

查看元素在元组中出现的次数

print(t.count(‘a’))
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第15张图片

4 . 元组的应用场景
变量变换数值

1.变量交换数值

 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)

运行:
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第16张图片

打印变量值

name = ‘westos’
age = 11
t = (name,age)
print(‘name:%s,age:%d’ %(name,age))
print(‘name:%s,age:%d’ %t)

运行:
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第17张图片

元组的赋值:有多少个元素,就用多少个变量接收

t = (‘Westos’,10,100)
name,age,score = t
print(name,age,score)

运行:
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第18张图片

排序:

scores = (100,89,45,78,65)
先对元组进行转换
scoreli = list(scores)
scoreli.sort() #.sort需要先类型转换
print(scoreli)
scores_sort = sorted(scores)#可不用类型转换,直接使用
print(scores_sort)
运行:
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第19张图片

元组的应用

比赛计分器

代码如下:

scores = (100,89,98,60,90,67)
#scores.sort()
scores = sorted(scores)
 python2中*middle不能使用的
min_score,*middle,max_score = scores
print(min_score,'~~~~',*middle, '~~~~~~',max_score)
print('最终成绩为:%s' %(sum(middle)/4))

运行测试:
元组( ) (tuple):不可变数据类型——及元组的应用之比赛记分器_第20张图片

你可能感兴趣的:(knowledge)