我试图打印一个整数列表,每行一个项目,在交换最后一个项目的最大项目的位置后。 交换项目后,它们仍然以原始位置打印。您可以将列表索引设置为原始列表中的变量吗?
large = values[values.index(max(values))]
last = values[-1]
large, last = last, large
for i in values:
print i
对不起,如果这已被回答,我还没有找到它。
我试图打印一个整数列表,每行一个项目,在交换最后一个项目的最大项目的位置后。 交换项目后,它们仍然以原始位置打印。您可以将列表索引设置为原始列表中的变量吗?
large = values[values.index(max(values))]
last = values[-1]
large, last = last, large
for i in values:
print i
对不起,如果这已被回答,我还没有找到它。
您可以通过实现它:
max_index = values.index(max(values))
values[max_index], values[-1]= values[-1], values[max_index]
当你输入你要明白,大,最后是从列表中值分离变量large, last = last, large
。意味着即使你改变它们,列表也不会改变。
为了更新列表,你需要为上面键入更新列表中的值。
OP似乎是'python'的新手,可能列表理解不是最好的主意。 – TheDarkKnight
这不是一个列表理解,它是一个元组包/解包来交换数据的惯用方式。 –
@ Jean-FrançoisFabre我今天学到了一些新东西。 – TheDarkKnight
您需要重新分配大,最后,你想他们位于列表中。交换后添加:
values[values.index(max(values))] = large
values[-1] = last
@Chris_Rands在我发布我的问题之前,我已经看过,我无法解决我的问题。 – CoffeeCat