【问题标题】:How can I iterate over an object and assign all it properties to a list如何迭代对象并将其所有属性分配给列表
【发布时间】:2012-11-09 06:58:39
【问题描述】:

来自

a = []

class A(object):
    def __init__(self):
        self.myinstatt1 = 'one'
        self.myinstatt2 = 'two'

a =['one','two']

【问题讨论】:

标签: python


【解决方案1】:

Python 有一个方便的内置函数,称为 vars,它会将属性作为 dict 提供给您:

>>> a = A()
>>> vars(a)
{'myinstatt2': 'two', 'myinstatt1': 'one'}

要仅获取属性值,请使用适当的dict 方法:

>>> vars(a).values()
['two', 'one']

在 python 3 中,这会给你一个与列表稍有不同的东西 - 但你可以在那里使用list(vars(a).values())

【讨论】:

  • 不知道 vars,很好!
【解决方案2】:

尝试查看__dict__ 属性。它会帮助你:

a = A().__dict__.values()
print a
>>> ['one', 'two']

【讨论】:

  • 鉴于 A 是类,不应该是 A().__dict__.values() 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-06
  • 1970-01-01
  • 1970-01-01
  • 2010-11-15
  • 2019-03-04
  • 1970-01-01
相关资源
最近更新 更多