首页 > 解决方案 > 在 Python 中,当您使用“,”将两个值分配给一行中的两个变量时,它会如何反应?

问题描述

a = [1,3,5,7,9,8,11,15,1,2,3,3,2,5,4,2,3,2]
print(a[3],a[a[3]])
#a[3],a[a[3]] = a[a[3]],a[3]
#a[a[3]],a[3] = a[3],a[a[3]]
print(a[3],a[a[3]])

例如,当我想交换 a[3] 和 a[a[3]] 的值时,我尝试使用 Python 中的特殊表达式(如 a,b = b,a)。但是,我发现使用这两个代码的结果不一样。

#a[3],a[a[3]] = a[a[3]],a[3] # No.1
#a[a[3]],a[3] = a[3],a[a[3]] # No.2

第 1 句成功地将值从 7 & 15 更改为 15 & 7。但第 2 句显示 7 & 15 到 15 & 2。

我想知道这种表达式在 python 中是如何工作的,以及为什么交换位置很重要。

标签: pythonlistswap

解决方案


推荐阅读