Python 2.7 未在Python列表中编辑数组元素

Python 2.7 未在Python列表中编辑数组元素,python-2.7,Python 2.7,给定的输入是: 6 54228 为什么输出是这样的:[0,2,4,4,5,8] 而不是[0,0,2,2,3,6],这是因为您正在更改for循环中sourcestickList中的值。 在循环中的第一次迭代之后,stickList[0]对于剩余的迭代将变为0 正如暗影游侠提到的,倒转列表就可以了 sticks = int(raw_input()); stickList= map(int,raw_input().split()) ; stickList = sorted(stickList); fo

给定的输入是:
6
54228

为什么输出是这样的:[0,2,4,4,5,8]
而不是[0,0,2,2,3,6]

,这是因为您正在更改for循环中source
stickList
中的值。 在循环中的第一次迭代之后,
stickList[0]
对于剩余的迭代将变为
0

正如暗影游侠提到的,倒转列表就可以了

sticks = int(raw_input());
stickList= map(int,raw_input().split()) ;
stickList = sorted(stickList);
for i in xrange(0,len(stickList)):
        stickList[i] = stickList[i]-stickList[0];
print stickList;

但这并没有得到他想要的。不过,反向操作列表可能会有问题。删除列表附件Thank@WoodChopper只是没有意识到thanksUW这是一个阴影回答。我实际上用附件发布了新列表。我提交了一个编辑,我的意图是(反向操作
列表,而不是反向操作
列表,操作,然后再次反向)。另一种方法是生成一个新的列表作为列表理解的替代,这意味着原始的
列表在生成过程中可用,因此在使用时不会丢失
min
值,例如
stickList=sorted(map(int,“5 4 4 2 8.split())
stickList=[x-stickList[0]对于粘贴列表中的x]
打印粘贴列表
stickList = map(int, "5 4 4 2 2 8".split())
stickList.sort()
for i in reversed(xrange(len(stickList))):
    stickList[i] -= stickList[0]        
print stickList