我試圖打印一個整數列表,每行一個項目,在交換最後一個項目的最大項目的位置後。 交換項目後,它們仍然以原始位置打印。您可以將列表索引設置爲原始列表中的變量嗎?
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