У меня есть список элементов. как banana
, apple
, orange
и т.д. Каждый из них имеет подмигнули свойства, как banana
: 'name': 'banana','color': 'yellow'
и т.д.Python создает переменную для каждого элемента
То, что я пытаюсь сделать, это создать переменную для каждого элемента. Поэтому я могу назвать это fruit.banana['color']
и получить значение yellow
назад.
Пример кода:
fruits = cur.fetchall()
for fruittarget in fruits:
fruit = fruittarget['name']
cur.execute("SELECT * FROM fruits where name = %s ;",(fruit))
rows = cur.fetchone()
name = rows["name"]
fruitfunc = {name: rows['name']}
fruitfunc[rows['name']] = {'color': rows['color']}
print fruitfunc[banana]['color']
Проблема заключается в том, что работает только для самого последнего в каждого из них. как сделать fruitfunc.banana['color']
, fruitfunc.potato['color']
? Я хочу установить имя переменной с переменной, как getfruit + name = fruitfunc
. Поэтому для каждого элемента в списке создается varible.
Ваших отступы сломаны. –
Не делайте этого. Создайте словарь под названием «фрукты» и сделайте каждый «фрукт» ключевым в этом. Динамическое создание переменных верхнего уровня делает ваш код более трудным для чтения и больше подвержен ошибкам. –
@NoufalIbrahim: OP делает именно это; формулировка довольно слабо выбрана. –