У меня возникли проблемы с получением данных из словаря, созданного в цикле for. В моем коде у меня есть два словаря, созданных и обновляемых периодически, один из машинной базы данных и один из глобальной базы данных. Проблема, с которой я сталкиваюсь, заключается в том, что мне нужно оценить каждую из них в отдельном для цикла на основе номера машины. Я не могу создать словари без проблем, но я борюсь с кодом, чтобы получить другой тег словаря на итерацию цикла for.Вызов данных из словаря, созданного в цикле for в python
Это код, который создает словари:
# sets machines that need error checking performed
workcenters = ['25294', '25296', '25331', '25334', '25335', '25336']
# Queries local machine database
for index in range(len(workcenters)):
result = EEDBConnect.connect(workcenters[index])
globals()["a" + str(workcenters[index])] = result
# Returns a different dictionary for each machine in the form of:
a25294 = {'Line_Status':None, 'Order_ID':None}
a25296 = {'Line_Status':None, 'Order_ID':None}
a25331 = {'Line_Status':None, 'Order_ID':None}
ect....
ect....
# Queries global machine database
for index in range(len(workcenters)):
result = GBDBConnect.connect(workcenters[index])
globals()["b" + str(workcenters[index])] = result
# Returns a different dictionary for each machine in the form of:
b25294 = {'Line_Status':None, 'Order_ID':None}
b25296 = {'Line_Status':None, 'Order_ID':None}
b25331 = {'Line_Status':None, 'Order_ID':None}
ect....
ect....
Теперь часть я имею проблемы с, как я могу идти о поиске этих словарей в цикле? Ниже приведен пример кода, который я пытаюсь сделать.
(я знаю, что это совершенно неправильный путь, чтобы написать это, но я не могу найти лучший способ, чтобы описать это)
****** ****** Обновлено
for index in range(len(workcenters)):
a = #here is where i need to assign the a##### dictionary
b = #here is where i need to assign the b##### dictionary
stat[str(workcenters[index])] = a['Line_Status'] == b['Line_Status']
ordr[str(workcenters[index])] = a['Order_ID'] == b['Order_ID']
Я пробовал несколько способов получить желаемый результат, и я застрял в этой проблеме около недели. Я уверен, что это что-то действительно глупое, что мне не хватает, но я начал писать питон в этом году для этого проекта, и любая помощь будет очень признательна. Благодаря!
Почему, почему бы вы когда-нибудь сделать что-то вроде этого: 'глобалам() [ "а" + ул (обрабатывающие центры [индекс])] = result' ??? –
Но оставляя это в стороне, ваш вопрос очень хорош для первого вопроса, но было бы лучше, если бы вы описали, какой результат вы получаете с вашей попыткой, и как это отличается от результата, который вы ищете. –
Кроме того, просто подсказка, в python, вы можете в основном перебирать элементы в контейнере напрямую. поэтому вместо 'for index in range (len (some_list))' вы можете сделать 'для элемента в some_list:' –