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)
  • Вопрос задан
  • 110 просмотров
Решения вопроса 1
werevolff
@werevolff
Потому, что в первом случае во встроенную ф-ию dict передаëтся итератор кортежей, а во втором - кортеж из 2 элементов (словарь и целое число). Из итератора кортежей можно сделать словарь, из кортежа, состоящего из списка и целого числа - нет.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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