前言
本文主要给大家介绍了关于Python利用元组代替字典并为元组元素命名的相关内容,下面话不多说了,来一起看看详细的介绍吧
场景:
一般使用字典定义一个人的姓名,年龄,性别,邮箱等信息是非常方便的,比如:
1
|
student_one = { 'name' : 'Tom' , 'age' : 19 , 'sex' : 'male' , 'email' : 'tom123@hotmail.com' }
|
使用元组表示则为:
1
|
student_one = ( 'Tom' , 19 , 'male' , 'tom123@hotmail.com' )
|
使用元组替代字典表示信息的时候,一方面很难分别元素的含义,另一方面在取值的时候,需要通过索引(index)来获得,即:
1
2
3
4
|
student_one[ 0 ]
student_one[ 1 ]
student_one[ 2 ]
student_one[ 3 ]
|
当代码量很多的时候,很难分辨索引分别代表的值是什么,因此需要给每个索引命名,来解决难以分辨的问题:
第一种方案:给索引取”别名”
1
2
3
4
5
|
name = 0
age = 1
sex = 2
email = 3
# 这样即可通过索引的"别名"来取值
|
升级:
1
2
|
# 通过组包来完成
name, age, sex, email = range ( 4 )
|
第二种方案:使用标准库中的collections.namedtuple
来替代内置的tuple
1
2
3
4
5
6
7
|
from collections import namedtuple
student = namedtuple( 'student' , [ 'name' , 'age' , 'sex' , 'email' ])
student_one = student( "tom" , 16 , "male" , "tom123@hotmail.com" )
print (student_one)
|
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。
原文链接:http://www.limiao.tech/?p=119