私は次のように名前で名前付きタプルの要素にアクセスできます(*):
_from collections import namedtuple
Car = namedtuple('Car', 'color mileage')
my_car = Car('red', 100)
print my_car.color
_
しかし、変数を使用して、アクセスするフィールドの名前を指定するにはどうすればよいですか?例えば。
_field = 'color'
my_car[field] # doesn't work
my_car.field # doesn't work
_
私の実際の使用例は、pandas for row in data.itertuples()
を使用してデータフレームを反復処理していることです。特定の列の値に対して操作を行っています。このループを含むメソッドのパラメーターとして名前で使用する列を指定できます。
(*) ここから引用した例 。私はPython 2.7。
getattr
を使用できます
getattr(my_car, field)