python多重赋值

多重赋值语句,不是说x=y, y=x+y=y+y,而是把右边的变量赋给临时变量后,再做赋值(In an assignment statement, the right-hand side is always evaluated fully before doing the actual setting of variables):

x, y = y, x + y

等价于:

ham = y
spam = x + y
x = ham
y = spam

比如反转列表, 都不用考虑临时变量的存储,因为多重赋值语句自动帮我们存了:

def reverseList(self, head):
  cur, pre = head, None
  while cur:
    cur.next, prev, cur = pre, cur, cur.next
  return prev

此外以下赋值语句也关注一下:

a, a[0] = [1], 2  
# a == [2]
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,234评论 0 38
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,813评论 0 10
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 3,115评论 2 9
  • 今天是什么日子:2018.11.15 起床:5点 就寝:22点 天气:晴 心情:平常心 纪念日:重新开始写《见感思...
    依盈阅读 117评论 2 2
  • 又是午夜,或许是周围太安静,所以听得见自己的心声;也或许,周围已经不见五指,所以终于可以卸下伪装,大方的承认,我喜...
    风走了八千里_阅读 175评论 0 0

友情链接更多精彩内容