真正基本的问题,我列入了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,让我措手不及!
答案 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)]