Python的collections模塊中namedtuple結構使用示例
更新時間:2024年09月18日 17:15:11 作者:xrzs
namedtuple顧名思義,就是名字+元組的數(shù)據(jù)結構,下面就來看一下Python的collections模塊中namedtuple結構使用示例
namedtuple 就是命名的 tuple,比較像 C 語言中 struct。一般情況下的 tuple 是 (item1, item2, item3,...),所有的 item 都只能按照 index 訪問,沒有明確的稱呼,而 namedtuple 就是事先把這些 item 命名,以后可以方便訪問。
from collections import namedtuple
# 初始化需要兩個參數(shù),第一個是 name,第二個參數(shù)是所有 item 名字的列表。
coordinate = namedtuple('Coordinate', ['x', 'y'])
c = coordinate(10, 20)
# or
c = coordinate(x=10, y=20)
c.x == c[0]
c.y == c[1]
x, y = c
namedtuple 還提供了 _make 從 iterable 對象中創(chuàng)建新的實例:
coordinate._make([10,20])
再來舉個栗子:
# -*- coding: utf-8 -*-
"""
比如我們用戶擁有一個這樣的數(shù)據(jù)結構,每一個對象是擁有三個元素的tuple。
使用namedtuple方法就可以方便的通過tuple來生成可讀性更高也更好用的數(shù)據(jù)結構。
"""
from collections import namedtuple
websites = [
('Sohu', 'http://www.google.com/', u'張某某'),
('Sina', 'http://www.sina.com.cn/', u'王某某'),
('163', 'http://www.163.com/', u'丁某')
]
Website = namedtuple('Website', ['name', 'url', 'founder'])
for website in websites:
website = Website._make(website)
print website
print website[0], website.url結果:
Website(name='Sohu', url='http://www.google.com/', founder=u'\u5f20\u671d\u9633') Sohu http://www.google.com/ Website(name='Sina', url='http://www.sina.com.cn/', founder=u'\u738b\u5fd7\u4e1c') Sina http://www.sina.com.cn/ Website(name='163', url='http://www.163.com/', founder=u'\u4e01\u78ca') 163 http://www.163.com/
相關文章
Python concurrent.futures模塊使用實例
這篇文章主要介紹了Python concurrent.futures模塊使用實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-12-12
Python制作簡易聊天器,搭建UDP網(wǎng)絡通信模型
這篇文章主要介紹了Python制作簡易聊天器,搭建UDP網(wǎng)絡通信模型,用UDP建立網(wǎng)絡模型來完成一個簡單的聊天器,感興趣的小伙伴可以參考一下,希望對你有所幫助2022-01-01
django如何連接已存在數(shù)據(jù)的數(shù)據(jù)庫
這篇文章主要給大家介紹了關于django如何連接已存在數(shù)據(jù)的數(shù)據(jù)庫的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用django具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-08-08
Python?操作?MongoDB數(shù)據(jù)庫的方法(非?ODM)
這篇文章主要介紹了Python?操作?MongoDB?----非?ODM的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03

