如何将函数仅应用于列表中的某个值?

时间:2018-09-25 15:19:18

标签: python-2.7

因此,我必须制作一个版本更新程序来更新版本号中的值。因此对于11.3.4.5,我希望索引函数更新该列表中的一个数字,然后将所有剩余值更改为0。因此,如果我希望索引为0,它将更改列表的第一个值,因此新列表将是12.0.0.0。如果有人可以告诉我如何设置它,那将很棒。到目前为止,这是我所拥有的,但是我是如此困住:

def updateVersion(numbers, index): 
   version = []
   index = 
       for i in numbers:
          if any(version):
          i + 1
          return version

2 个答案:

答案 0 :(得分:0)

说您提供一个列表作为arg:

def updateVersion(currVersion, index):
     if index == 0:
         return [currVersion[0] + 1] + [0] * (len(currVersion) - 1)
     else:
         return [currVersion[0], index] + [0] * (len(currVersion) - 2)

答案 1 :(得分:0)

我不确定您的问题是否正确。但是我会做这样的事情:

--user

所以这里的输出将是:

current_version = [11,3,4,5] 

def updateVersion(version, index):

    i = 0
    new_version = [None] * len(version)#get length of the Version - number and create an empty list with the same length

    for number in version:
        if i == index: # increment the Version Number
            new_version[i] = version[i] + 1
        elif i > index: # All numbers after the increment are 0
            new_version[i] = 0
        else:
            new_version[i] = version[i]
        i = i + 1 

    return new_version

print str(updateVersion(current_version, 0))#just for testing