Как из двух списков собрать словарь без zip используя только циклы и проверки?


a = ['цифры', 'еще цифры']
b = [123, 213]

u = {}

for i in a:
    for k in b:
        if i and k:
            u.setdefault(i, k)

# получается из этого так {'цифры': 123, 'еще цифры': 123}

Как получить {'цифры': 123, 'еще цифры': 213}


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

Автор решения: Freerade

a = ['цифры', 'еще цифры']
b = [123, 213] # пример присвоения ключей через проверки

u = {}
for i in range(len(a)):
   u[a[i]] = b[i]
→ Ссылка
Автор решения: Andy Pavlov

Как-то так можно еще через циклы или через map с lambda:

a = ['цифры', 'еще цифры']
b = [123, 213]

print({r: b[ia]  for ia, r in enumerate(a)})  # Через циклы
print(dict(map(lambda x, y: (x, y, ), a, b)))  # Через lambda и map
# {'цифры': 123, 'еще цифры': 213}
→ Ссылка