首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python namedtuple :如何重用用于在namedtuple中创建属性的变量,以便从namedtuple中获取值?

Python namedtuple :如何重用用于在namedtuple中创建属性的变量,以便从namedtuple中获取值?
EN

Stack Overflow用户
提问于 2018-07-21 14:59:16
回答 1查看 235关注 0票数 0

如何使用colname_1来获取命名元组的属性foo的值?

代码语言:javascript
复制
from collections import namedtuple

colname_1 = 'foo'
colname_2 = 'bar'

Farm = namedtuple('Farm', 'foo bar')
farm = Farm('apple', 'banana')

farm.foo  # OK
farm.colname_1  #  of course this doesn't work!
EN

回答 1

Stack Overflow用户

发布于 2018-07-21 15:06:21

使用getattr()

代码语言:javascript
复制
getattr(farm, colname_1) # 'apple'

named tuple docs

要检索其名称存储在字符串中的字段,请使用getattr()函数

或者,尽管很笨拙,但您可以索引到._fields属性:

代码语言:javascript
复制
farm[[i for i, f in enumerate(farm._fields) if f == colname_1][0]] # 'apple'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51453650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档