Как задать переменную словарю в Python?

Здравствуйте
Произошёл затык
Мой скрипт парсит данные со стороннего сайта в словарь вида
{"ключ" : "значение", "ключ" : "значение"} , но словарю переменная не задаётся
Мне нужно перевести ключи в переменные, а для этого мне нужно к словарю обратиться
А переменной у словаря нет
Есть возможность ее как-то задать на уровне выгрузки?
  • Вопрос задан
  • 2675 просмотров
Решения вопроса 1
tsarevfs
@tsarevfs
C++ developer
Предположу что у вас стандартная ситуация: есть словарь с фиксированным набором ключей и вы хотите работать с ним из кода.
person_data = {'first name':'Ivan', 'second name':'Ivanov', 'year of birth': 1995}


Например вы хотите напечатать это в красивой форме. Никто не мешает вам обратится к элементам напрямую по имени:
current_year = 2017
print('{} {} is {} years old'.format(
	person_data['first name'], person_data['second name'], current_year - person_data['year of birth']))


Может так получиться что обращений к словарю очень много в тексте. Да и формат данных используемых в программе немного отличается от того что приходит в словаре. Тогда имеет смысл создать класс, который будет конструироваться от вашего словаря:
class Person:
	def __init__(self, data):
		self._first_name = data['first name']
		self._second_name = data['second name']
		self._age = current_year - data['year of birth']

	def print_info(self):
		print('{} {} is {} years old'.format(
			self._first_name, self._second_name, self._age))

person = Person(person_data)
person.print_info()


Делать это автоматически можно, но зачем? Если вы не знаете имя заранее, то как вы обратитесь к этой переменной из кода? А если знаете, то более очевидный способ в приоритете.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект