【问题标题】:Value assignment赋值
【发布时间】:2021-05-20 07:56:18
【问题描述】:

你能解释一下这个赋值是如何工作的吗,它让我很困惑?

my_list = [10, 1, 8, 3, 5]
length = len(my_list)

for i in range(length // 2):
    my_list[i], my_list[length - i - 1] = my_list[length - i - 1], my_list[i]

print(my_list)

让我们也采取一个更简单的:

variable_1 = 1
variable_2 = 2

variable_1, variable_2 = variable_2, variable_1

var1 是如何将它的值更改为 var2 的,即 2,然后 var2 取了 var1 的值,它已经被更改为 var2。我希望我的困惑是清楚的。是因为它们是并行工作的吗?

【问题讨论】:

标签: python list indexing


【解决方案1】:

这称为可迭代解包。请对此进行搜索。这不仅在 Python 中。很少有其他语言(如 javascript)也支持这一点(在这种情况下称为解构)。它不完全使用并行。基本上,python 通过保留一个额外的变量来处理它。

【讨论】:

  • Nitpick:这实际上在 Python 中不称为解构,而是 Javascript。这在 Python 中称为 可迭代解包
  • 感谢您的解释。很高兴知道
猜你喜欢
  • 2011-08-02
  • 2019-10-06
  • 1970-01-01
  • 1970-01-01
  • 2022-08-04
  • 2016-01-17
  • 1970-01-01
  • 1970-01-01
  • 2017-10-30
相关资源
最近更新 更多