collections中namedtuple的用法


我們知道tuple可以表示不變集合,例如,一個點的二維坐標就可以表示成:

`p = (1, 2)`

但是,看到(1, 2),很難看出這個tuple是用來表示一個坐標的。這時,namedtuple就派上了用場。

用法:

namedtuple('名稱', [屬性list])

使用namedtuple表示一個坐標的例子如下:

from collections import namedtuple

Point = namedtuple('Point', ['x', 'y'])
p = Point(1, 2)

print(p.x,p.y)

輸出為:`1,2'

再舉一個Densenet的例子:

from collections import namedtuple

DensenetParams = namedtuple('DensenetParameters', ['num_classes',
                                         'first_output_features',
                                         'layers_per_block',
                                         'growth_rate',
                                         'bc_mode',
                                         'is_training',
                                         'dropout_keep_prob'
                                         ])

default_params = DensenetParams(
        num_classes = 10,
        first_output_features = 24,
        layers_per_block = 12,
        growth_rate = 12,
        bc_mode = False,
        is_training = True,
        dropout_keep_prob = 0.8,
        )

print(default_params.num_classes)

輸出為:10


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM