我是否正确交换列表中的元素?
Am I swapping elements from a list correctly?
信息:我是一名正在学习如何编码的 HS 学生,我不知道有谁可以为我检查我的逻辑,所以我正在使用 Stack Overflow 的好心人来帮助检查我的想法。
真题:我正在学习排序,我想知道我是否真正理解交换过程中发生的事情。
my_list = [1, 2]
my_list[0], my_list[1] = my_list[1], my_list[0]
print(my_list)
Output:
[2, 1]
这就是我认为的作用。我将 my_list 的第 0 个位置设置为 my_list 的第 1 个位置,基本上就是 "Hey, trade values!"。然后我对 my_list 的第一个位置做同样的事情,接受我设置它 = 我列表的第 0 个位置。我认为这是做什么的,如果我错了请纠正我,那就是将第 0 个位置的值设置为第 1 个位置的值,并将第 1 个位置的值设置为第 0 个位置的值位置。这反过来又改变了列表元素的值,使它们看起来好像交换了位置。这是正确的还是我想得太多了?我知道这听起来像是基本的作业,但我想确保我完全理解交换的概念。
实际问题的答案。交换期间发生的事情如下。
Python 计算 =
运算符右侧的内容。即 Python 得到两个值 my_list[1]
和 my_list[0]
,即 2
和 1
。然后 Python 将值打包成元组 (2, 1)
.
Python 将元组 (2, 1)
分配给 =
运算符左侧的变量。
=
运算符左侧有 2 个变量并且元组 (2, 1)
恰好有 2 个项目。所以 Python 解压元组然后将 2
分配给第一个变量(恰好是列表 my_list
的第一个元素)并将 1
分配给第二个变量。
因此交换值是通过对用户隐藏的打包和拆包获得的。
信息:我是一名正在学习如何编码的 HS 学生,我不知道有谁可以为我检查我的逻辑,所以我正在使用 Stack Overflow 的好心人来帮助检查我的想法。
真题:我正在学习排序,我想知道我是否真正理解交换过程中发生的事情。
my_list = [1, 2]
my_list[0], my_list[1] = my_list[1], my_list[0]
print(my_list)
Output:
[2, 1]
这就是我认为的作用。我将 my_list 的第 0 个位置设置为 my_list 的第 1 个位置,基本上就是 "Hey, trade values!"。然后我对 my_list 的第一个位置做同样的事情,接受我设置它 = 我列表的第 0 个位置。我认为这是做什么的,如果我错了请纠正我,那就是将第 0 个位置的值设置为第 1 个位置的值,并将第 1 个位置的值设置为第 0 个位置的值位置。这反过来又改变了列表元素的值,使它们看起来好像交换了位置。这是正确的还是我想得太多了?我知道这听起来像是基本的作业,但我想确保我完全理解交换的概念。
实际问题的答案。交换期间发生的事情如下。
Python 计算
=
运算符右侧的内容。即 Python 得到两个值my_list[1]
和my_list[0]
,即2
和1
。然后 Python 将值打包成元组(2, 1)
.Python 将元组
(2, 1)
分配给=
运算符左侧的变量。=
运算符左侧有 2 个变量并且元组(2, 1)
恰好有 2 个项目。所以 Python 解压元组然后将2
分配给第一个变量(恰好是列表my_list
的第一个元素)并将1
分配给第二个变量。
因此交换值是通过对用户隐藏的打包和拆包获得的。