关于Python 的“多元”赋值

引入:

实现链表翻转

class Solution:
    def reverseList(self, head: ListNode) -> ListNode:
        cur = head
        prev = None
        while cur:
            cur.next,prev,cur = prev,cur,cur.next
        return prev

初入Python时,常按着C++的思维去想,然后被如下赋值给搞懵逼了。

 cur.next,prev,cur = prev,cur,cur.next

那为什么这样赋值能产生我们需要的效果?我们来简单了解下Python的变量赋值

变量赋值

赋值运算符

Python 语言中, 等号(=)是主要的赋值运算符。
anInt = 11
aString = 'leacoder'
aFloat = -3.1415
aList = ["a", "b", "c", "d"];
当然还有其他基本数据类型 可以参见 Python3 基本数据类型
注意,赋值并不是直接将一个值赋给一个变量,尽管可能根据其它语言编程经验认为应
该如此(比如我T_T)。在 Python 语言中,对象是通过引用传递的。在赋值时,不管这个对象是新创建的,还是一个已经存在的,都是将该对象的引用(并不是值)赋值给变量。

多重赋值

x=y=z=0

一个值为 0 的整数对象被创建,该对象的同一个引用被赋值给 x、y 和z 。也就是将一个

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨1024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值