Используйте «цикл for» для создания переменных с новыми именами из ключей словаря.

Я хочу использовать цикл for для создания переменных с новыми именами из ключей, которые затем можно будет получить глобально в будущем. Определение переменной ранее с помощью None, к сожалению, ничего не дало. Так же с Global дальше не продвинулся, но возможно тоже неправильно использовал. Я много гуглил, но, к сожалению, не смог найти решение. Есть ли какой-нибудь трюк, как я могу получить новые переменные в более позднем курсе?

LAeq = { 'Januar': [69.1, 57.9, 58.3, 55.6],
         'Februar': [66.7, 65.5, 63.5, 62.4] }

anzahl_Januar = None #anzahl is number in English
print ("{:<9} {:<5} {:<9}".format('Monat','Tage','Prozent'))

for key in LAeq.keys():
    for value in LAeq[key]:
        anzahl_key = 0
        for i in LAeq[key]: #LAeq['Januar']
            if i > 63 :
                anzahl_key = anzahl_key + 1
    print("{:<9} {:<5} {:<9}".format(key, anzahl_key, "{:.1%}".format(anzahl_key/len(LAeq[key]))))
    
print(anzahl_Januar)

Очевидно, что словарь намного больше, я просто привел здесь пример. Я благодарен за любой совет! :)

Почему вам нужен набор переменных с именами anzahl_Januar, anzahl_Februar и т. д. вместо словаря с ключами Januar, Februar???

Nick 23.04.2022 10:47

@Nick К сожалению, это задание, которое я получил на уроке программирования. После этого они хотят проверить, верны ли числа, например, anzahl_Januar = 1 и т. д. Да, так что у меня действительно нет выбора.

Dano 23.04.2022 11:00

В коде, для каких значений вы хотите создать переменные? anzhal_key ?

Rohit Babu 23.04.2022 11:02

один из способов — evalобработка или execобработка сгенерированного кода.

LMD 23.04.2022 11:06

@RohitBabu Да, правильно, поэтому, в конце концов, я хочу иметь возможность print(anzahl_Januar, anzahl_Februar)

Dano 23.04.2022 11:09

Итак, смысл наличия переменных в том, чтобы иметь возможность печатать их значения? Если да, вам это нужно в каком-то конкретном шаблоне?

Rohit Babu 23.04.2022 11:12

@LMD Хорошо, спасибо за ваше предложение. Я прочитаю об этих функциях позже.

Dano 23.04.2022 11:18

@RohitBabu Да, в упражнении есть блок, который я не могу изменить, он выглядит примерно так assert anzahl_Januar < 2. Я не знаю, что означает «утверждать», возможно, они что-то придумали. Итак, они хотят, чтобы эта часть работала, это своего рода обязательное поле. Будет лучше, если я спрошу у своих тренеров в понедельник, чего именно они хотят, потому что это выглядит как-то глупо. В любом случае, большое спасибо! Я дам обновление в понедельник вечером тогда.

Dano 23.04.2022 11:24

Хорошо. assert в основном проверяет, что anzahl_Januar меньше 2. Это тестовый случай.

Rohit Babu 23.04.2022 11:38
Анализ настроения постов в Twitter с помощью Python, Tweepy и Flair
Анализ настроения постов в Twitter с помощью Python, Tweepy и Flair
Анализ настроения текстовых сообщений может быть настолько сложным или простым, насколько вы его сделаете. Как и в любом ML-проекте, вы можете выбрать...
7 лайфхаков для начинающих Python-программистов
7 лайфхаков для начинающих Python-программистов
В этой статье мы расскажем о хитростях и советах по Python, которые должны быть известны разработчику Python.
Установка Apache Cassandra на Mac OS
Установка Apache Cassandra на Mac OS
Это краткое руководство по установке Apache Cassandra.
Сертификатная программа "Кванты Python": Бэктестер ансамблевых методов на основе ООП
Сертификатная программа "Кванты Python": Бэктестер ансамблевых методов на основе ООП
В одном из недавних постов я рассказал о том, как я использую навыки количественных исследований, которые я совершенствую в рамках программы TPQ...
Создание персонального файлового хранилища
Создание персонального файлового хранилища
Вы когда-нибудь хотели поделиться с кем-то файлом, но он содержал конфиденциальную информацию? Многие думают, что электронная почта безопасна, но это...
Создание приборной панели для анализа данных на GCP - часть I
Создание приборной панели для анализа данных на GCP - часть I
Недавно я столкнулся с интересной бизнес-задачей - визуализацией сбоев в цепочке поставок лекарств, которую могут просматривать врачи и...
2
9
57
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать команду exec, например:

dict={}
for i in range (10):
    key=str("x"+str(i))
    dict[key]=i
for key,value in dict.items():
    exec(f'{key}={value}')

Попробуйте настроить это на свои данные.

Большое спасибо! Я вставил exec(f'anzahl_{key}={anzahl_key}') в конце второго «цикла for», и это отлично работает! :)

Dano 23.04.2022 14:01

Другие вопросы по теме