Changing values in list: Python

前端 未结 3 2130
庸人自扰
庸人自扰 2020-12-18 13:39

I\'m making a function to modify the elements in a list, but it doesn\'t change all the way through... My function is:

def modifyValues(l):
    for x in l:
          


        
3条回答
  •  攒了一身酷
    2020-12-18 14:19

    When you iterate through the loop, you are iterating the loop elements and not the indexes. You need to use enumerate to get the indexes along with the values.

    A small demo can be

    def modifyValues(l):
        for i,x in enumerate(l):   # Use enumerate here. 
            if x == 1:
                l[i] = 'a'
            elif x == 2:
                l[i] = 'b'
            elif x == 3:
                l[i] = 'c'
        print (l)
    

    Output

    ['a', 'b', 'c', 'b', 'c', 'a', 'b', 'b']
    

提交回复
热议问题