Задать вопрос
tuychiev1988
@tuychiev1988
Начинающий IT разработчик

Формирование словаря в Python?

Всем привет! Не пойму, почему данная конструкция возвращает словарь?
def foo(s: str):
    return s, len(s)


s = ["Воронеж"]
d = dict(foo(i) for i in s)
print(d)

А вот эта конструкция возвращает ошибку
def foo(s: str):
    return s, len(s)


s = ["Воронеж"]
d = dict(foo(s))
print(d)
  • Вопрос задан
  • 114 просмотров
Подписаться 1 Простой 4 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Решения вопроса 1
werevolff
@werevolff
Потому, что в первом случае во встроенную ф-ию dict передаëтся итератор кортежей, а во втором - кортеж из 2 элементов (словарь и целое число). Из итератора кортежей можно сделать словарь, из кортежа, состоящего из списка и целого числа - нет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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