国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Python連續賦值需要注意的一些問題

瀏覽:2日期:2022-06-17 15:50:08
Python連續賦值的注意事項

在python中是可以使用連續賦值的方式來一次為多個變量進行賦值的,比如:

a = b = c = 1a, b, c = 1, 1, 1

這些都可以完成變量的賦值,但是就有一個問題了,比如:

a = 3a, b = 1, a

如果按照正常的思維邏輯,先進行a = 1,在進行b = a,最后b應該等于1,但是這里b應該等于3,因為在連續賦值語句中等式右邊其實都是局部變量,而不是真正的變量值本身,比如,上面例子中右邊的a,在python解析的時候,只是把變量a的指向的變量3賦給b,而不是a=1之后a的結果,這一點剛開始學python的人可能容易誤解,再舉一個Leetcode里鏈表的例子理解就更深了。

假如要對一個鏈表進行翻轉,就比如把1—>2->3->4轉化為4->3->2->1

對于這個問題很簡單,只要反轉指針就可以了,假如鏈表結構為:

class ListNode: def __init__(self, x):self.val = xself.next = None

我們可以用很簡單的三行代碼完成這個過程:

def reverseList(self, head):L = ListNode(float('-inf'))while head: L.next, head.next, head = head, L.next, head.nextreturn L.next

這里的L是指向一個新建的結點,因為python沒有指針的概念,所以用一個額外的結點來代替頭指針,這里的核心代碼就是中間那一行三個變量的連續賦值,如果單獨一句句來理解的話,最后肯定是想不通的,在這里,假設head結點是鏈表串’1->2->3->4’的頭結點,先用新的L結點的next指針指向head的第一個結點‘1’,之后將L.next(第一次也就是空)賦給了head的next指針,之后再把head的next指針(注意,這里的next指針還是指向‘2’的,而不是空)賦給head,相當于next向前移一位,這一步相當于一個串變成了兩個:

L:‘-inf’->‘1’head:‘2’->‘3’->‘4’->‘5’Python花樣賦值方法總結

#連等賦值a=b=c=1#拆包賦值a,b=1,2#用_占位和*代表不確定個參數進行拆包賦值a=range(10)_,b,c,*d=a#迭代賦值a=(1,2)b=[(i,j)for i in a for j in a]#交換a,b=b,a

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 全部毛片| 久久成人免费观看全部免费 | 国产一区二区在线观看免费 | 国产精品久久毛片 | 窝窝午夜看片七次郎青草视频 | 男人女人做刺激视频免费 | 日韩欧美视频一区二区 | 免费国产成人高清在线观看不卡 | 怡红院免费全部视频在线 | 播播网手机在线播放 | 男人女人做刺激视频免费 | 欧美色老头oldvideos | 日韩精品另类天天更新影院 | 亚洲第一中文 | 欧美成人艳星在线播放 | 男女视频在线看 | 热99re久久精品这里都是免费 | 国产在亚洲线视频观看 | 久久频这里精品99香蕉久网址 | 97视频免费在线 | 欧美国产伦久久久久 | 在线一级片 | 92看片淫黄大片看国产片 | 国产成人福利免费观看 | 欧美在线乱妇一级毛片 | 视频日韩| 国产精品久久久久久久人热 | 日产一区二区三区四区 | 国产性生活视频 | 美国一级毛片片aa久久综合 | 亚洲精品一区二区久久 | 国产伦精品一区二区三区免费 | 久久99国产精品亚洲 | 丝袜精品 欧美 亚洲 自拍 | 色视频在线免费 | 奶交性视频欧美 | 日本午色www高清视频 | 国产肥老妇视频一 | 免费在线观看a | 国产大片一区 | 2020亚洲男人天堂 |