x, *y, z = range(1,10)
k = ['x', 'y', 'z']
d = {k:v for k, v in zip(k, (x, y, z))}
for k in [*d]:
print(f'{k}: {d[k]}')
print(k)
>>> z
The following works fine for k
but it automatically assigns a
which I do not desire.
x, *y, z = range(1,10)
k = ['x', 'y', 'z']
d = {k:v for k, v in zip(k, (x, y, z))}
for a in [*d]:
print(f'{a}: {d[a]}')
print(k)
>>> ['x', 'y', 'z']
print(a)
>>> z
Question:
- Why k is
'z'
instead of['x', 'y', 'z']
? - What does
for a in [*d]
do?