Python 可以将列表索引设置为原始列表中的变量吗?

Python 可以将列表索引设置为原始列表中的变量吗?,python,python-2.7,Python,Python 2.7,我试图打印一个整数列表,每行一项,在用最后一项替换最大项的位置之后。 交换项目后,它们仍在原始位置打印 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)) val

我试图打印一个整数列表,每行一项,在用最后一项替换最大项的位置之后。 交换项目后,它们仍在原始位置打印

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
时,需要了解large和last是与列表值分开的变量。这意味着即使你改变了它们,列表也不会改变


要更新列表,您需要更新上面键入的列表中的值。

您需要将“大”和“最后”重新指定到您希望它们位于列表中的位置。进行交换后,添加以下内容:

values[values.index(max(values))] = large
values[-1] = last

这不是一个列表理解,而是一个元组包/解包,以惯用的方式交换数据。@omri_saadon,这让你得到了更多的支持:)@Jean-Françoisfare@CoffeeCat,是的,因为“大”和“最后”指向的内存位置与列表中的值不同。它们具有相同的值,但更改“大”或“最后一个”不会影响列表。你可以像Farmer在回答中所做的那样(在列表中设置大的和最后的)。@CoffeeCat在变量中复制不会改变原始的引用。为此,你必须像这个好答案中所做的那样,直接列出清单。@Chris_Rands我在发布我的问题之前已经看过了,但我无法基于此解决我的问题。