Creating new variables in loop, with names from list, in Python
24,601
Solution 1
I think dictionaries
are more suitable for this purpose:
>>> name = ['mike', 'john', 'steve']
>>> age = [20, 32, 19]
>>> dic=dict(zip(name, age))
>>> dic['mike']
20
>>> dic['john']
32
But if you still want to create variables on the fly you can use globals()[]
:
>>> for x,y in zip(name, age):
globals()[x] = y
>>> mike
20
>>> steve
19
>>> john
32
Solution 2
You can use globals()
:
globals()[e] = age[index]
Generally, though, you don't want to do that; a dictionary is much more convenient.
people = {
'mike': 20,
'john': 32,
'steve': 19
}
Author by
user1496868
Updated on June 09, 2020Comments
-
user1496868 almost 4 years
How to create new variables with names from list? This:
name = ['mike', 'john', 'steve'] age = [20, 32, 19] index = 0 for e in name: name[index] = age[index] index = index+1
of course does not work. What should I do?
I want to do this:
print mike >>> 20 print steve >>> 19