Ключевая ошибка в итерации по списку - PullRequest
0 голосов
/ 29 августа 2018

Я создал функцию в своем классе, которая добавляет в цикл новую пару ключ: значение в словарь.

def addFeature(self, *keys):

    for key in keys:
        print("key: {} \n".format(key))
        self.content[self.counter1].update(key)

Вот как я использую эту функцию:

            self.addFeature(
                {'view':            self.dict_of_views['view{}'.format(self.counter2)]},
                {'link':            self.p.pr_link(self.content[self.counter1]['id'])})

И это работает. Но я столкнулся с проблемой, когда попытался вызвать ключ, созданный в этой функции цикла:

            self.addFeature(
                {'view':            self.dict_of_views['view{}'.format(self.counter2)]},
                {'link':            self.p.pr_link(self.content[self.counter1]['id'])},
                {'nsnManagerID':    self.ldap.ldap_searching(self.content[self.counter1]['author'])[1]},
                {'nsnManagerEmail': self.ldap.ldap_searching(self.content[self.counter1]['nsnManagerID'])}

Кажется, что я не могу вызвать 'nsnManagerID', чтобы получить 'nsnManagerEmail' из-за того, что я делаю это:

            self.addFeature(
                {'view':            self.dict_of_views['view{}'.format(self.counter2)]},
                {'link':            self.p.pr_link(self.content[self.counter1]['id'])},
                {'nation':          self.getNation(self.content[self.counter1]['author'])},
                {'email':           self.ldap.ldap_searching(self.content[self.counter1]['author'])[0]},
                {'nsnManagerID':    self.ldap.ldap_searching(self.content[self.counter1]['author'])[1]},
                )
            self.addFeature({'nsnManagerEmail': self.ldap.ldap_searching(self.content[self.counter1]['nsnManagerID'])})

Тогда это работает ... Не могли бы вы помочь мне с правильным способом сделать это? Так же, как я показал в третьем блоке кода.

...