您的位置 首页 知识分享

Python 链式赋值:为什么结果是 (3, 2, 1) 而不是 (1, 2, 3)?

链式赋值的迷惑 python 中链式赋值的操作可能会让人困惑。例如,执行以下代码: a, b, c = b, …

Python 链式赋值:为什么结果是 (3, 2, 1) 而不是 (1, 2, 3)?

链式赋值的迷惑

python 中链式赋值的操作可能会让人困惑。例如,执行以下代码:

a, b, c = b, c, a = c, b, a = 1, 2, 3
登录后复制

输出结果是 (3, 2, 1),而不是预期的 (1, 2, 3)。

为了理解原因,让我们分解代码:

c, b, a = 1, 2, 3  # 第一步
登录后复制

这将 c、b 和 a 分别赋值为 1、2 和 3。

b, c, a = c, b, a  # 第二步
登录后复制

这只是交换了 b 和 c 的值,并保留 a 的值。

a = c, b, a  # 第三步
登录后复制

这将 c、b 和 a 的值分别赋给 a。因此,a 现在等于 (3, 2, 1)。

结论

在 python 中,链式赋值是按从右向左顺序进行的。因此,最后一个赋值覆盖了所有前面的赋值。

以上就是Python 链式赋值:结果是 (3, 2, 1) 而不是 (1, 2, 3)?的详细内容,更多请关注php中文网其它相关文章!

本文来自网络,不代表甲倪知识立场,转载请注明出处:http://www.spjiani.cn/wp/4832.html

作者: nijia

发表评论

您的电子邮箱地址不会被公开。

联系我们

联系我们

0898-88881688

在线咨询: QQ交谈

邮箱: email@wangzhan.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部