Задать вопрос
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)
  • Вопрос задан
  • 111 просмотров
Подписаться 1 Простой 7 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • SF Education
    Бэкенд-разработчик на Python
    3 месяца
    Далее
Решения вопроса 1
werevolff
@werevolff
Потому, что в первом случае во встроенную ф-ию dict передаëтся итератор кортежей, а во втором - кортеж из 2 элементов (словарь и целое число). Из итератора кортежей можно сделать словарь, из кортежа, состоящего из списка и целого числа - нет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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