@estluced

Как решить данную проблему?

Добрый вечер!
У меня появилась необходимость использовать функцию н-ое количество раз в зависимости от того сколько элементов есть в листе, давайте покажу код:
def get(id):
    ... #важное уточнение функция достает из бд данные и возвращает словарь со всеми данными

list = ['a','b','c']

for item in list:
    print get(item)


Ну и возвращает это чудо что-то подобное:
{'a':0}{'b':1}{'c':2}{'d':3}
Если сделать return то выплюнет {'a':0}.
Пробовал добавлять в новый лист, результат тот же, добавляет только {'a':0}.
Как решить данную проблему?

P.S. Важно уточнить что функцию get, менять нельзя. Спасибо!
  • Вопрос задан
  • 110 просмотров
Решения вопроса 2
adugin
@adugin Куратор тега Python
В get() добавить return, и тогда:
result = list(map(get, my_list)
Не называйте переменную list, т.к. это переопределяет встроенный тип list!
Ответ написан
Комментировать
def get(id):
    return {f'{id}': 0}

ids = ['a','b','c']
result = list(map(get, ids))

print(result)

Выдаёт [{'a': 0}, {'b': 0}, {'c': 0}]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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