学生信息系统:

(名字,年龄,性别,邮箱地址)

为了减少存储开支,每个学生的信息都以一个元组形式存放

如:

('tom', 18,'male','tom@qq.com' )

('jom', 18,'mal','jom@qq.com' ) .......

这种方式存放,如何访问呢?

普通方法:

#!/usr/bin/python3

student = ('tom', 18, 'male', 'tom @ qq.com' )
print(student[0])
if student[1] > 12:
...
if student[2] == 'male':
...

出现问题,程序中存在大量的数字index,可阅读性太差,无法知道每个数字代替的含义

如何解决这个问题?

方法1:

#!/usr/bin/python3

# 给数字带上含义,和元组中一一对应
name, age, sex, email = 0, 1, 2, 3
# 高级:name, age, sex, email = range(4)
student = ('tom', 18, 'male', 'tom @ qq.com' )
print(student[name])
if student[age] > 12:
print('True')
if student[sex] == 'male':
print('True')

这样就直白多了,看名字就知道取什么元素

方法2:

  通过 collections库的 nametuple模块

#!/usr/bin/python3

from collections import namedtuple

# 生成一个Student类
Student = namedtuple('Student', ['name', 'age', 'sex', 'email']) # 生成一条信息对象
s = Student('tom', 18, 'male', 'tom@qq.com') # 通过类对象进行取数据
print(s.name, s.age, s.sex, s.email)

Python-为元组中每个元素命名的更多相关文章

  1. python_如何为元组中每个元素命名

    学生信息系统: (名字,年龄,性别,邮箱地址) 为了减少存储开支,每个学生的信息都以一个元组形式存放 如: ('tom', 18,'male','tom@qq.com' ) ('jom', 18,'m ...

  2. python去除列表中重复元素的方法

    列表中元素位置的索引用的是L.index 本文实例讲述了Python去除列表中重复元素的方法.分享给大家供大家参考.具体如下: 比较容易记忆的是用内置的set 1 2 3 l1 = ['b','c', ...

  3. 【381】python 获取列表中重复元素的索引值

    参考:获取python的list中含有重复值的index方法_python_脚本之家 核心思想:建立字典,遍历列表,把列表中每个元素和其索引添加到字典里面 cc = [1, 2, 3, 2, 4] f ...

  4. Python对列表中字典元素排序

    问题起源 json对象a,b a = '{"ROAD": [{"id": 123}, {"name": "no1"}]} ...

  5. python 实现元组中的的数据按照list排序, python查询mysql得到的数据是元组格式,按照list格式对他们排序

    需求: 需要用echart实现软件模块的统计分析,首先是对数据库的数据查询出来,然后给数据封装成列表(list)格式,数据传到前台,在echart实现绑定数据. 因为数据已经按照从大到小的顺序显示出来 ...

  6. Python获取list中指定元素的索引

    在平时开发过程中,经常遇到需要在数据中获取特定的元素的信息,如到达目的地最近的车站,橱窗里面最贵的物品等等.怎么办?看下面 方法一: 利用数组自身的特性 list.index(target), 其中a ...

  7. Python对List中的元素排序

    首先定义一个compare函数: def compare(sf1, sf2): if (sf1.value > sf2.value): return -1; elif (sf1.value == ...

  8. Python求列表中某个元素的下标

    一.求列表中某个元素的下标 def findindex(org, x, pos=-1): counts = org.count(x) #先求出org中包含x的个数 if counts == 0: #个 ...

  9. python 学习笔记(二):为元组的每个元素命名,提高程序的可读性

    在程序中有些数据为固定格式时,即字段数量确定.字段位置顺序确定不变,我们就可以用元组来储存.使用元组的优势是储存空间很小,访问速度也很快.如下代码对每个学生信息用元组来表示: # ('Jim', 16 ...

随机推荐

  1. Istio的流量管理(实操三)

    Istio的流量管理(实操三) 涵盖官方文档Traffic Management章节中的egress部分.其中有一小部分问题(已在下文标注)待官方解决. 目录 Istio的流量管理(实操三) 访问外部 ...

  2. 接口测试中GET方法的获取

    今天在这里给大家介绍一下get方法,其实这些方法大家可以看一下源码里面的介绍只需要在代码中输入: import requests help(requests) 就可以看到带有示例的解释: 现在我们来完 ...

  3. python安装wordcloud库报错

    pip install wordcloud 安装成了这样 红彤彤的一片 解决方法 https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud 下载对应版 ...

  4. 深度优先搜索(DFS)解题总结

    定义 深度优先搜索算法(Depth-First-Search),是搜索算法的一种.它沿着树的深度遍历树的节点,尽可能深的搜索树的分支. 例如下图,其深度优先遍历顺序为 1->2->4-&g ...

  5. 新手oracle重启、监听

    有一次遇到了记录下. #su到oracle用户下 [root@localhost ~]# su - oracle  #重启数据库:[oracle@localhost ~]$ sqlplus /nolo ...

  6. miniapp基础

    文件目录 component 公共组件 img 图片 libs 插件,外部引入 pages 页面 utils 封装公共方法 wxParse html转wxml-->插件 app.js 公共逻辑方 ...

  7. 高可用集群corosync+pacemaker之crmsh使用(二)

    上一篇博客我们聊到了crmsh的安装以及配置一个资源到corosync+pacemaker高可用集群上的相关命令的用法,回顾请参考https://www.cnblogs.com/qiuhom-1874 ...

  8. 文件操作 -- 生成java文件

    import hashlibimport os def genJavaFile(packageName, soFile):    className, suffix = soFile.split('. ...

  9. 解决Oracle在win10 64使用plsql 无法显示表

    将当前用户切换至所有用户,然后再切换至当前用户,问题解决 图中sql也可查询出当前库中存在的表: select object_name from user_objects where lower(ob ...

  10. 15_Web框架-mini frame

    1.WSGI协议概述(Python Web Server Gateway Interface) 1.WSGI允许开发者将选择web框架和web服务器分开,可以混合匹配web服务器和web框架,选择一个 ...