以特定顺序获取类属性
问题描述:
我正试图找到一种方法来筛选&对列表中类的属性值进行排序。以特定顺序获取类属性
这里是我做了什么:
[foo_class.__dict__[key] for key in foo_class.__dict__.keys() if key in my_bar_list]
my_bar_list
是类属性包含一些列表(不是全部),在一个特殊的顺序。
请问my_bar_list
命令中排序为foo_class
属性的Pythonic方法是否存在?
答
那岂不是更简单的,只是做的事:
[foo_class.__dict__[key] for key in my_bar_list if hasattr(foo_class, key)]
这样,你保留你的初始订单,而无需排序另一个时间。
请注意,您可以省略'.keys()' - 默认情况下迭代遍历字典遍历键。此外,根据[PEP-8](http://legacy.python.org/dev/peps/pep-0008/),应该是'FooClass'。 – jonrsharpe 2014-09-04 16:06:57
感谢您的注意! – Hrabal 2014-09-04 20:01:02