Python:修改列表的元素

时间:2013-06-06 10:20:46

标签: python list

真正基本的问题,我列入了50个整数的清单。

我需要重新编号每个元素

exampleList [4,6,78,21,3,32等....]

需要将列表返回为returnList [0,1,2,3,4,5 etc ...]

numOfRemaps = len.exampleList
while remap < numOfRemaps
      for item in exampleList:
            if remap != item:
                    item = item + 1

            remap = remap + 1

这是我迷路的地方,我可以将变量重写回exampleList,还是应该将它们写回到returnList,然后将其映射回exampleList。

可能是一个直截了当的问题,被要求在飞行中做一些python,让我措手不及!

4 个答案:

答案 0 :(得分:1)

对于一般情况,使用enumerate获取索引和项目。然后您可以分配回列表

    for i, item in enumerate(exampleList):
        if remap != item:
                exampleList[i] = item + 1

        remap = remap + 1

答案 1 :(得分:0)

你为什么要这样做?

print range(len(your_list))

否则,请使用list-comp:

print [i+1 if some_criteria(i) else 0 for i in your_list]

答案 2 :(得分:0)

如果你有每个int,你可以使用Jon Clements的答案,如果你错过了一些整数,你可以使用sorted。

myList = sorted(exampleList)
do_whatever(myList)

答案 3 :(得分:0)

org_list = [4,6,78,21,3,32]
new_list = [item if(item == idx) else item+1 for idx, item in enumerate(org_list)]