python对数据的处理--如何为元组中的每个元素命名,提高程序可读性?

问题1:如何为元组中的每个元素命名,提高程序可读性?

假设学生信息系统中的数据格式:(名字,年龄,性别,邮箱地址),为了减少系统开销,所以使用元组表示:

student = ("Jim","16","male","jim13@qq.com")。当我们要获取性名的时候需要student[0]。首先第一student[0]我们并不能清楚的知道要的是什么属性,第二代码中充斥着student[0]、student[1]、student[2]这样子的1、2、3也不利于代码的维护。

方式一:定义类似其他语言的枚举类型,也就是定义一系列的数值常量。

定义:NAME=0,AGE = 1,SEX = 2,EMAIL = 3 ==》另外一种写法NAME,AGE,SEX,EMAIL = range(4)。我们在使用的时候就可以这样子写:

print student[NAME]来获取性名属性。

方式二:借助于标准库中的collections.namedtuple替代内置tuple

from collections import nameduple     //导入

Student = nameduple('Student',['name','age','sex','email'])     //创建一个新的tuple类型叫做Student,//arg1是新的类名,arg2列表索引的

student1 = Student("Jim","16","male","jim13@qq.com")       //实例化

student2 = Student(name="Jim",age="16",sex="male",email="jim13@qq.com")    //key实例化

使用的时候student1.name 即可得到名字。用isinstance(s,tuple) 判断student1是否是tuple类型的子类,结果为True。

得到结论:只要可以使用内置tuple的地方都可以使用这种方法。

上一篇:宝石专家


下一篇:Spark RDD 练习题(一)