【发布时间】:2021-12-16 14:50:59
【问题描述】:
我有一个关于在 python 中交换元素的问题,我在网上找不到答案。我尝试的两种选择有什么区别,为什么只有第二种给出预期的输出?
我研究了一个选择排序算法,因此不得不交换列表的元素。我已将 max(my_list) 的值分配给变量 max_item。
(1) 这是我第一次尝试交换max_item 和my_list[-1]:
max_item, my_list[-1] = my_list[-1], max_item
实际输出是:
[value of max_item, value of max_item]
(2) 然后我尝试了以下方法:
my_list[my_list.index(max_item)], my_list[-1] = my_list[-1], my_list[my_list.index(max_item)]
这给出了预期的输出:
[value of my_list[-1], value of max_item]
非常感谢任何建议。提前致谢!
【问题讨论】:
-
为什么你会期望
max_item = my_list[-1]改变my_list的第一个元素? -
minimal reproducible example - 不知道你想要什么。