Pythonモジュールcollectionsにおける関数namedtupleの理解
1653 ワード
転載先:https://blog.csdn.net/helei001/article/details/52692128/
Pythonにはシリーズデータが格納されており、比較的一般的なデータ型はlistであるほか、tupleデータ型もある.リストと比較してtupleの要素は変更できません.マッピングではキーとして使用できます.tupleメタグループのitemはindexのみでアクセスでき、collectionsモジュールのnamedtupleサブクラスはitemのindexを使用してitemにアクセスするだけでなく、itemのnameを使用してアクセスすることもできます.namedtupleは、まず各itemに名前を付け、その後各itemにデータを付与するcにおけるstruct構造として理解される.例1:
Output:
例2:
Output:
参考資料:[1]http://blog.csdn.net/kongxx/article/details/51553362
[2] http://www.jb51.net/article/88144.htm
[3] http://www.jb51.net/article/48771.htm
Pythonにはシリーズデータが格納されており、比較的一般的なデータ型はlistであるほか、tupleデータ型もある.リストと比較してtupleの要素は変更できません.マッピングではキーとして使用できます.tupleメタグループのitemはindexのみでアクセスでき、collectionsモジュールのnamedtupleサブクラスはitemのindexを使用してitemにアクセスするだけでなく、itemのnameを使用してアクセスすることもできます.namedtupleは、まず各itemに名前を付け、その後各itemにデータを付与するcにおけるstruct構造として理解される.例1:
coordinate = namedtuple('Coordinate', ['x', 'y'])
co = coordinate(10,20)
print co.x,co.y
print co[0],co[1]
co = coordinate._make([100,200])
print co.x,co.y
co = co._replace(x = 30)
print co.x,co.y
Output:
10 20
10 20
100 200
30 200
例2:
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
Output:
Website(name='Sohu', url='http://www.google.com/', founder=u'\u5f20\u671d\u9633')
Website(name='Sina', url='http://www.sina.com.cn/', founder=u'\u738b\u5fd7\u4e1c')
Website(name='163', url='http://www.163.com/', founder=u'\u4e01\u78ca')
参考資料:[1]http://blog.csdn.net/kongxx/article/details/51553362
[2] http://www.jb51.net/article/88144.htm
[3] http://www.jb51.net/article/48771.htm