Assign the result of a loop to a variable in Python

前端 未结 6 1800
予麋鹿
予麋鹿 2021-01-20 11:48

Consider a list I want to parse using a for :

friends = [\"Joe\", \"Zoe\", \"Brad\", \"Angelina\", \"Zuki\", \"Thandi\", \"Paris\"]
for i in fri         


        
相关标签:
6条回答
  • 2021-01-20 11:53

    If I understand well, you'd like to dynamically create variables. Here it is.

    from collections import OrderedDict
    
    friends = ["Joe", "Zoe", "Brad", "Angelina", "Zuki", "Thandi", "Paris"]
    d = OrderedDict()
    for idx, value in enumerate(friends):
        key = 'var' + str(idx)
        d[key] = value 
    
    print(d)
    # Output
    OrderedDict([('var0', 'Joe'), ('var1', 'Zoe'), ('var2', 'Brad'), ('var3', 'Angelina'), ('var4', 'Zuki'), ('var5', 'Thandi'), ('var6', 'Paris')])
    
    0 讨论(0)
  • 2021-01-20 11:53

    I also have this question, this is how I managed to solve it somewhat:

        friends = ["Joe", "Zoe", "Brad", "Angelina", "Zuki", "Thandi", "Paris"]
    
        new_friends = ' '.join([x for x in friends])
    
        print(new_friends)
    

    Will return:

        Joe Zoe Brad Angelina Zuki Thandi Paris
    
    0 讨论(0)
  • 2021-01-20 11:57

    If you want to join the values in friends into a comma-separated string, that would be

    s = ','.join(friends)
    

    If you want to include quotes around the names, maybe something like

    s = ','.join(['"{0}"'.format(x) for x in friends])
    
    0 讨论(0)
  • 2021-01-20 12:17
    var = ''
    friends = ["Joe", "Zoe", "Brad", "Angelina", "Zuki", "Thandi", "Paris"]
    for i in friends:
        var=i 
    

    if list and loop are in function then declare var as global

    global var
    

    in starting of function

    0 讨论(0)
  • 2021-01-20 12:18

    Try this at the end of the loop:

    the_variable = the_variable + i
    

    However, if you are to do this, you should add a space to the end of every item in the dictionary, otherwise it will output:

    JoeZoeBradAngelinaZukiThandiParis
    
    0 讨论(0)
  • 2021-01-20 12:18

    I would use a dictionary instead, as I too spent a while looking into this, and determined that a dictionary would be easy enough.

        friends = ["Joe", "Zoe", "Brad", "Angelina", "Zuki", "Thandi", "Paris"]
        dict= {}
        for i in friends:
           dict[i] = i
    
        print(dict)
        print(dict['Zuki'])
        dict['Zuki'] = "Tim Smith"
    
        print(dict['Zuki'])
    

    The Other option would be to just call the number:

        print(friends[0])
    

    As for automatic assignment I haven't found a way to do it.

    0 讨论(0)
提交回复
热议问题