@Smeilz1
За любое развитие

Почему не работает слияние 2 списков в словарь?

Ввожу 2 списка, затем с помощью zip сливаю их в словарь.
TypeError: 'dict' object is not callable
Почему error?
И как исправить?
a = input()
b = input()
k = []
d = []
slo = {}
for i in a:
    k.append(i)
for j in b:
    d.append(j)
print(k)
print(d)
slo (zip(k, d))
print(slo)


P.S. Даже простое слияние листов не работает.
t = [1, 2]
t1 = [3, 4]
temp = zip(t, t1)
print(temp)

Output:
Почему так?
  • Вопрос задан
  • 350 просмотров
Решения вопроса 1
aRegius
@aRegius
Python Enthusiast
slo = dict(zip(k, d))

P.S. Оберните list-ом
temp = list(zip(t, t1))

P.S. И вот эта конструкция:
k = []
for i in a:
    k.append(i)

равносильна:
k = list(a)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Sly_tom_cat
@Sly_tom_cat
.
<Удалено, ошибся>

zip - возвращает объект zip. Хотите из него словарь - сделайте:
>>> t = [1, 2]
>>> t1 = [3, 4]
>>> temp = zip(t, t1)
>>> print(temp)
<zip object at 0x7f56be11e208>
>>> print(dict(temp))
{1: 3, 2: 4}
Ответ написан
@maxfox
Используйте dict comprehensions.
a = ['a', 'b', 'c']
b = [1, 2 ,3]
d = {k: v for k,v in zip(a,b)}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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