Using a loop to create multiple variables

前端 未结 3 963
死守一世寂寞
死守一世寂寞 2020-11-30 15:57

Let\'s say I need to make 5 variables. Since this may need to be adjusted in the future, I\'m using a loop.

i = 0
for j in range(5):
    i += 1
    w[i] = f         


        
相关标签:
3条回答
  • 2020-11-30 16:25

    To create multiple variables you can use something like below, you use a for loop and store a pair of key-value, where key is the different variable names

        d={} #empty dictionary
        for x in range(1,10): #for looping 
            d["string{0}".format(x)]="Variable1"
    

    The ouput looks like {'string1': 'Variable1', 'string2': 'Variable1', 'string3': 'Variable1', 'string4': 'Variable1', 'string5': 'Variable1', 'string6': 'Variable1', 'string7': 'Variable1', 'string8': 'Variable1', 'string9': 'Variable1'}

    0 讨论(0)
  • 2020-11-30 16:32

    You'd better just use a list. It's more readable and safer.
    However, you can create variables in the global namespace using globals() dictionary:

    i = 0
    for j in range(5):
        i += 1
        globals()["w" + str(i)] = function(i)
    

    Use it like this:

    print (w1)
    

    However, that's probably not a good idea. You can accidentally override something in the namespace, which will cause hard to debug bugs. Really, try not to do that.

    If you want to call them by name and not by index (as in a list), use your own dictionary:

    my_variables = {}
    i = 0
    for j in range(5):
        i += 1
        my_variables["w" + str(i)] = function(i)
    

    Then use like this:

    print (my_variables["w1"])
    
    0 讨论(0)
  • 2020-11-30 16:44

    You can create actual variables, but don't. Use a list

    W = []
    for j in range(5):
        ...
        W.append(function(i))
    
    0 讨论(0)
提交回复
热议问题