如何通过迭代从“自”字典访问值?

时间:2019-09-10 22:50:32

标签: python for-loop while-loop self

我不知道如何有效地表达我的问题,但我会尽力而为。我希望能够使用“ for”语句来遍历字典并访问以前制作的“ self”项目。就像我说的,很难说出这个问题。

我发现我可以使用exec()来做到这一点,但是我被告知除非绝对必要,否则不要使用exec()。另外,我意识到该示例在技术上是无用的,但这是我所需要的非常简化的版本。

global counter
counter = 0
class GUI:
    def __init__(self):
        self.stuff = ["foo","bar","fooest","barest"]
        for i in self.stuff:
            self.process(i)
        self.printAll()

    def process(self,i):
        global counter
        counter += 1
        self.__dict__.update({"ex{}".format(counter):i})

    def printAll(self):
        global counter
        while counter > 0:
            exec("print(self.ex{})".format(counter))
            counter -= 1
GUI()

这确实有效; printAll(self)确实打印出self.ex1至ex4。有没有exec()的方法吗?请帮忙!

1 个答案:

答案 0 :(得分:0)

cloneContents()

我希望这适合您的情况