Python中连续赋值需要注意的事项
2019-03-08 22:33
337 查看
版权声明:未经授权,不准转载 https://blog.csdn.net/S1998F/article/details/88360000
在 Python 批量连续赋值时,等号的右边为局部变量,不会因为等号左边值改变而改变。以 LeetCode 中 206. Reverse Linked List 题为例,要反转一个单链表,原来的顺序为:[1,2,3,4,5];现在的顺序为:[5,4,3,2,1]。
[code]class ListNode: def __init__(self, x): self.val = x self.next = None class Solution: """无头结点""" def reverseList(self, head: ListNode) -> ListNode: cur, prev = head, None while cur: cur.next, prev, cur = prev, cur, cur.next return prev
这个算法的核心就是这一行代码:
[code] cur.next, prev, cur = prev, cur, cur.next
假设当前 cur 指向 1,prev 指向 None,那个这个批量赋值语句的具体过程如下:
cur.next = prev(值为 None),prev = cur(值为 1),cur = cur.next(值为 2)。这里要注意的时,cur = cur.next 等号右边的 cur.next 为局部变量,保存着 2 而不是经过赋值后的 None。
相关文章推荐
- 关于python连续赋值的需要注意的地方
- Python连续赋值需要注意的地方
- Python初学者需要注意的事项小结(python2与python3)
- ionic中的$ionicPopup连续两个调用alert时需要注意的事项
- python中将函数赋值给变量时需要注意的一些问题
- python 连续赋值注意的问题
- 5.1 Python 函数-默认参数,*args,**kwargs的使用;作用域-局部空间使用全局变量需要注意的事项等
- C++ 构造函数使用 ":成员变量(形参)" 的形式给类里面成员变量赋值,如果成员变量和形参是指针,那么需要注意的事项
- python 赋值的时候是引用,如果需要复制则需要注意深拷贝和浅拷贝的区别
- python中将函数赋值给变量时需要注意的一些问题
- MongoDB中创建索引需要注意的事项
- python的elementtree模块处理中文注意事项
- 企业域名更换操作系列1:为什么要进行域名更换及更换需要注意事项
- python基本语法和注意事项
- mysqldump加-w参数备份数据时需要注意的事项
- WebAPP设计和入门开发需要注意的5个事项
- Android内存溢出OOM需要注意的事项
- 使用webpack打包.css文件时需要注意的事项
- memcpy 函数需要注意的事项
- CentOS 7 安装python3.7.1的方法及注意事项