Python 中的 namedtuple()

Python 中的 namedtuple() 是一個非常有用的工具,它可以讓你建立一個可以被命名的 tuple,讓你可以更容易地訪問 tuple 中的元素。

namedtuple() 的基本用法

使用 namedtuple() 之前,你需要先定義一個 tuple 的模型,例如:

from collections import namedtuple

Point = namedtuple('Point', ['x', 'y'])

這樣,你就定義了一個名為 Point 的 tuple,它有兩個元素,分別是 x 和 y。接下來,你就可以使用這個 Point 來建立一個新的 tuple:

p = Point(11, y=22)

這樣,你就建立了一個新的 Point tuple,它的 x 元素為 11,y 元素為 22。你可以使用下面的方式來訪問這個 tuple 的元素:

print(p.x)
print(p.y)

這樣,你就可以得到 x 和 y 元素的值,而不需要使用索引來訪問。

namedtuple() 的更多用法

除了可以使用 namedtuple() 來建立 tuple 之外,它還有一些其他的用法,例如:

  • 你可以使用 _make() 方法來建立一個新的 tuple:
    p = Point._make([11, 22])
            
  • 你可以使用 _asdict() 方法將一個 tuple 轉換成一個字典:
    d = p._asdict()
            
  • 你可以使用 _replace() 方法來替換 tuple 中的某個元素:
    p = p._replace(x=33)
            

這些方法都可以讓你更容易地操作 tuple,而不需要使用索引來訪問元素。

總結

Python 中的 namedtuple() 是一個非常有用的工具,它可以讓你建立一個可以被命名的 tuple,讓你可以更容易地訪問 tuple 中的元素。它還有一些其他的用法,例如 _make()_asdict()_replace(),讓你更容易地操作 tuple,而不需要使用索引來訪問元素。

Categorized in:

Tagged in: