赞
踩
Python中的元组作为一个有序的序列,具有很多与字符串等相似的方法和特性。其包含0个或者多个对象的引用,且是不可改变的,若需要改变,可用list()将其变为列表,下面从几个方面描述:
1、元组的创建方式
#()方式
t1 = (1,"This is t1")
t2 = ("This is t2",) #当括号里面只包含一个对象引用时,必须加个逗号才是元组
t3 = ((1,2),("Hello","World"))
#,方式
t4 = 1,2,"This is t4"
#tuple()创建,要转变的参数必须是可迭代的对象
t5 = tuple() #创建空元组
t6 = tuple("This is t6")
t7 = tuple([1,2,"This is t7"])
#collections.namedtuple()创建命名的元组,后面介绍
2、元组常用操作
#支持+、*、[]、+=、*=以及比较操作符
r1 = t1+t2
r2 = t1*3 #不可将两个元组相乘
r3 = t1[1]
r1 += r2 #创建新的对象,r1为新的对象的引用
#元组只提供两个方法
f1 = r1.count(1) #返回对象在元组中的次数
f2 = r1.index(1) #返回对象在元组中的位置,如果没有找到,触发ValueError异常
#提取元组元素
a,b,c = t7
a,b,_ = t7
切片与字符串一样。
3、命名的元组
在collections模块中提供namedtuple类,可以创建命名的元组
import collections
#创建namedtuple对象,传入的参数第一个为自定义的元组名称,第二个为各个字段的名称,相当于字典的键值
Info = collections.namedtuple("Info","name age country id")
info = []
info.append(Info("Kangkang",18,"China",1))
info.append(Info("Maria",18,"America",2))
print("name".ljust(15) + "age".ljust(15) + "country".ljust(15) + "id".ljust(15))
print("---".ljust(15) + "---".ljust(15) + "----".ljust(15) + "--".ljust(15))
for i in info:
print(i.name.ljust(15) + \
str(i.age).ljust(15) + \
i.country.ljust(15) + \
str(i.id).ljust(15))
#输出结果为
name age country id
--- --- ---- --
Kangkang 18 China 1
Maria 18 America 2
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。