Python代码重构问题。简化

Python代码重构问题。简化,python,refactoring,list,Python,Refactoring,List,我有这样的代码: self.ui.foo = False self.ui.bar = False self.ui.item = False self.ui.item2 = False self.ui.item3 = False items = [foo,bar,item,item2,item3] for elm in items: self.ui.elm = False 我想把它变成这样: self.ui.foo = False self.ui.bar = False self.u

我有这样的代码:

self.ui.foo = False
self.ui.bar = False
self.ui.item = False
self.ui.item2 = False 
self.ui.item3 = False
items = [foo,bar,item,item2,item3]
for elm in items:
    self.ui.elm = False
我想把它变成这样:

self.ui.foo = False
self.ui.bar = False
self.ui.item = False
self.ui.item2 = False 
self.ui.item3 = False
items = [foo,bar,item,item2,item3]
for elm in items:
    self.ui.elm = False

但是很明显,列表中的变量不包含“self.ui”部分是无效的,我不希望为列表中的每个元素都键入“self.ui”,因为这并没有太好。我如何重写我的第一段代码,使其与我所说的内容类似?

以下是如何做到这一点:

items = ['foo','bar','item','item2','item3']
for elm in items:
    setattr(self.ui, elm, False)

需要是字符串列表

items = ['foo', 'bar', 'item', 'item2', 'item3']
for elm in items:
    setattr(self.ui, elm, False)