一、元组的创建
元组本身是不可变数据类型,没有增删改查
元组内可以存储任意数据类型
-
定义空元组
t1= () -
定义单个值的元组
t2=(1,)
二、元组的特性
特性:
连接操作符,重复操作符,成员操作符
索引, 切片
注意: 不能对元组的值任意更改;
1、索引
2、切片
3、重复
4、连接
5、成员操作
三、元组常用方法
1、count:统计元素出现次数
2、index:查看索引值
四、namedtuple
Tuple还有一个兄弟,叫namedtuple。虽然都是tuple,但是功能更为强大。
from collections import namedtuple
命名元组是一个类,有两种方式来定义命名元组:
User = namedtuple('User',['name','age','id'])
User = namedtuple('User','name age id')
实例化命名元组,获得类的一个实例:
user = User('huahua','22','1231424')
访问命名元组: 通过逗号运算符和属性名来访问元组字段的值
user.name; user.age, user.id
类属性 _fields:包含这个类所有字段名的元组
user._fields
类方法 _make(iterable):接受一个可迭代对象来生产这个类的实例
User._make(['westos','12','123131'])
五、练习
1、多元赋值机制
#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)
# 打印变量值
name = 'westos'
age = 10
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)
# 先对元组进行排序
# scoresLi = list(scores)
# scoresLi.sort()
# print(scoresLi)
scores = sorted(scores)
# python3中
minScore, *middleScore, maxScore = scores
print(minScore, middleScore, maxScore)
print("最终成绩为: %.2f" %(sum(middleScore)/len(middleScore)))