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

yipeiwu_com6年前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设计】的支持。

相关文章

利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式

利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式

Tensorflow是目前最流行的深度学习框架,我们可以用它来搭建自己的卷积神经网络并训练自己的分类器,本文介绍怎样使用Tensorflow构建自己的CNN,怎样训练用于简单的验证码识别...

Python实现正则表达式匹配任意的邮箱方法

Python实现正则表达式匹配任意的邮箱方法

首先来个简单的例子,利用Python实现匹配163邮箱的代码: #-*- coding:utf-8 -*- __author__ = '杨鑫' import re text = in...

完美解决Python2操作中文名文件乱码的问题

完美解决Python2操作中文名文件乱码的问题

Python2默认是不支持中文的,一般我们在程序的开头加上#-*-coding:utf-8-*-来解决这个问题,但是在我用open()方法打开文件时,中文名字却显示成了乱码。 我先给大家...

解决pycharm下os.system执行命令返回有中文乱码的问题

解决pycharm下os.system执行命令返回有中文乱码的问题

如下所示: source = ['C:\\Users\\admin\\Desktop\\pythonLearning'] target_dir = 'C:\\Users\\admin...

Python通过TensorFLow进行线性模型训练原理与实现方法详解

Python通过TensorFLow进行线性模型训练原理与实现方法详解

本文实例讲述了Python通过TensorFLow进行线性模型训练原理与实现方法。分享给大家供大家参考,具体如下: 1、相关概念 例如要从一个线性分布的途中抽象出其y=kx+b的分布规律...