Задать вопрос
@albertalexandrov

Строковый format и KeyError?

Привет!)

Казалось бы простая задача:

code = '''
    return API.users.get({"user_ids": {}, "fields": "bdate"});
'''.format(",".join(map(str, (random.randint(1, 1000000) for _ in range(1000)))))
print(code)


Но... Получаю ошибку:

Traceback (most recent call last):
File "C:/alexandrov/python/code.py", line 6, in
'''.format(",")
KeyError: '"user_ids"'


В чем дело?
  • Вопрос задан
  • 253 просмотра
Подписаться 1 Простой 6 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Решения вопроса 2
longclaps
@longclaps
Конструкция '''{"user_ids": {}, "fields": "bdate"}''' воспринимается как сложный формат, требующий двух параметров, да ещё именованых (да-да, вложеные скобки и двоеточия - это засада).
Выкрутитесь как-нибудь, способов много.
Ответ написан
netpastor
@netpastor
Python developer
user_ids = ",".join(map(str, (random.randint(1, 1000000) for _ in range(1000))))
code = f'return API.users.get({{"user_ids": {user_ids}, "fields": "bdate"}});'
print(code)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы