Python实用技巧之利用元组代替字典并为元组元素命名

yipeiwu_com7年前Python基础

前言

本文主要给大家介绍了关于Python利用元组代替字典并为元组元素命名的相关内容,下面话不多说了,来一起看看详细的介绍吧

场景:

一般使用字典定义一个人的姓名,年龄,性别,邮箱等信息是非常方便的,比如:

student_one = {'name': 'Tom', 'age': 19, 'sex': 'male', 'email': 'tom123@hotmail.com'}

使用元组表示则为:

student_one = ('Tom', 19, 'male', 'tom123@hotmail.com')

使用元组替代字典表示信息的时候,一方面很难分别元素的含义,另一方面在取值的时候,需要通过索引(index)来获得,即:

student_one[0]
student_one[1]
student_one[2]
student_one[3]

当代码量很多的时候,很难分辨索引分别代表的值是什么,因此需要给每个索引命名,来解决难以分辨的问题:

第一种方案:给索引取”别名”

name = 0
age = 1
sex = 2
email = 3
# 这样即可通过索引的"别名"来取值

升级:

# 通过组包来完成
name, age, sex, email = range(4)

第二种方案:使用标准库中的collections.namedtuple来替代内置的tuple

from collections import namedtuple

student = namedtuple('student', ['name','age','sex','email'])

student_one = student("tom", 16, "male", "tom123@hotmail.com")

print(student_one)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

Python中new方法的详解

new_ 方法是什么? __new__方法其实就是创建对象的方法 new()方法是在类准备将自身实例化时调用。 一个类可以有多个位置参数和多个命名参数,而在实例化开始之后,在调用 ini...

Python 实现遥感影像波段组合的示例代码

Python 实现遥感影像波段组合的示例代码

最近要做个遥感相关的小系统,需要波段组合功能,网上找了可以使用ArcGIS安装时自带的arcpy包,但是Python3.7不能使用现有ArcGIS10.2版本,也不想再装其他版本,所以只...

Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】

本文实例讲述了Django框架模板语言。分享给大家供大家参考,具体如下: 模板语言 模板语言简称为DTL(Django Template Language) 模板变量 模板变量名由数字,...

从Python的源码浅要剖析Python的内存管理

从Python的源码浅要剖析Python的内存管理

Python 的内存管理架构(Objects/obmalloc.c): 复制代码 代码如下:     _____   ______&nb...

TensorFlow查看输入节点和输出节点名称方式

TensorFlow 定义输入节点名称input_name: with tf.name_scope('input'): bottleneck_input = tf.place...