具名元組 namedtuple

2021-10-10 14:57:47 字數 1046 閱讀 4654

作用

命名元組賦予每個位置乙個含義,提供可讀性和自文件性。它們可以用於任何普通元組,並新增了通過名字獲取值的能力,通過索引值也是可以的。

collections.namedtuple(typename, field_names, *, rename=false, defaults=none, module=none)

可以用來構建乙個帶欄位名的元組和乙個有名字的類。函式返回乙個新的元組子類,名為typename。這個新的子類用於建立類元組的物件,可以通過欄位名來獲取屬性值,同樣也可以通過索引和迭代獲取值。

field_names是乙個像 [『x』, 『y』] 一樣的字串序列。另外 field_names 可以是乙個純字串,用空白或逗號分隔開元素名,比如 『x y』 或者 『x, y』 。

定義和使用

>>

> point = namedtuple(

'point',[

'x',

'y']

)>>

> p = point(

11, y=22)

# instantiate with positional or keyword arguments

>>

> p[0]

+ p[1]

# indexable like the plain tuple (11, 22)

33>>

> x, y = p # unpack like a regular tuple

>>

> x, y(11

,22)>>

> p.x + p.y # fields also accessible by name

33>>

> p # readable __repr__ with a name=value style

point(x=

11, y=

22)

python公升級元組namedtuple

namedtuple 具名元組 python元組的公升級版本 因為元組的侷限性 不能為元組內部的資料進行命名,所以往往我們並不知道乙個元組所要表達的意義,所以在這裡引入了collections.namedtuple這個工廠函式,來構造乙個帶欄位名的元組。具名元組的例項和普通元組消耗的記憶體一樣多,因...

Python命名元組 namedtuple

python中提供了基礎的不可變資料結構元組tuple,對元組元素的訪問需通過索引來完成,對此需要熟記每個下標對應的具體含義。如果元素數量一多,要記清楚這些東西就會比較麻煩了,於是就出現了命名元組namedtuple。collections.namedtuple point x y 這樣就建立了乙個...

Python namedtuple 具名元組

python中的tuple是乙個非常高效的集合物件,但是我們只能通過索引的方式訪問這個集合中的元素,比如下面的 bob bob 30,male print representation bob jane jane 29,female print field by index jane 0 for p...