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?