Python奇技淫巧—[2]—使用元組代替字典,同時為元組元素命名,提高可讀性

weixin_34127717發表於2018-06-21

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)

歡迎訪問

個人部落格地址:www.limiao.tech


相關文章