我是python的新手,想知道如何使用'来创建数据结构。' 例如,给定一个字符串数组,
mystr=['aaa', 'bbb', 'ccc']
commonstr = 'zzz'
for str in mystr
# something like creating '.' struct
self = __create_dot_struct_with_value__(self, str, str+commonstr)
所以结果看起来像
self.aaa = 'aaazzz'
self.bbb = 'bbbzzz'
self.ccc = 'ccczzz'
我该怎么做? 谢谢!
答案 0 :(得分:3)
使用setattr
:
class x(object):
pass
for item in mystr:
setattr(x, item, item + commonstr)
现在,您可以执行x.aaa
之类的操作,并让它返回aaazzz
。
setattr
允许您动态添加对象属性。我会非常谨慎地在现有的类中使用它,除非你绝对确定它不会弄乱你的其他类,但如果你只想要一个虚拟类,这是一个很好的方法。
答案 1 :(得分:1)
from collections import namedtuple
my_class = namedtuple("a_class"," ".join(mystr))
print my_class._make([x+"zzz" for x in mystr])
可能适用于您的用例
namedtuple
可能是python与struct
最接近的东西(在C / C ++意义上)