Как сделать словарь из списков

У меня есть список с ключами и список со значениями ключи:

k = [3, 1, 4, 2, 7, 5, 6] 
 z = [
     [3, [[2, 4], [0, 6], [2, 2]]],
     [2, [[1, 4], [8, 7]]],
     [3, [[0, 3], [7, 6], [8, 3]]],
     [3, [[4, 2], [1, 1], [7, 7]]],
     [2, [[6, 4], [7, 0]]],
     [1, [[6, 6]]]]
     [1, [[4, 9]]
]

Мне нужно создать цикл, который бы делал словарь для элементов, чтобы было так:

{k[0]:z[0], k[1]:z[1]...}и тд до конца

Пыталась через цикл for, но мне он делает несколько словарей, а мне нужен один большой. Помогите пожалуйста!

Также нужно, чтоб каждое ключ-значение было на новой строчке, через width = 1 не работает.


Ответы (2 шт):

Автор решения: Nickolay Chistov

Думаю такой код будет правильным:

k = [3, 1, 4, 2, 7, 5, 6]
z = [
     [3, [[2, 4], [0, 6], [2, 2]]],
     [2, [[1, 4], [8, 7]]],
     [3, [[0, 3], [7, 6], [8, 3]]],
     [3, [[4, 2], [1, 1], [7, 7]]],
     [2, [[6, 4], [7, 0]]],
     [1, [[6, 6]]],
     [1, [[4, 9]]]
]

result = {}

for index in range(len(k) - 1):
    result[k[index]] = z[index]

PS: Я поправил список z, потому-что он был не правильно построен. Выходила IndentationError

PSS: У меня цикл for работает, если я правильно понял ваш вопрос.

→ Ссылка
Автор решения: eri
In [4]:  k = [3, 1, 4, 2, 7, 5, 6]
   ...:  z = [
   ...:      [3, [[2, 4], [0, 6], [2, 2]]],
   ...:      [2, [[1, 4], [8, 7]]],
   ...:      [3, [[0, 3], [7, 6], [8, 3]]],
   ...:      [3, [[4, 2], [1, 1], [7, 7]]],
   ...:      [2, [[6, 4], [7, 0]]],
   ...:      [1, [[6, 6]]],
   ...:      [1, [[4, 9]]]
   ...: ]


In [5]: dict(zip(k,z))
→ Ссылка