婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python連續賦值需要注意的一些問題

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

熱門標簽:北瀚ai電銷機器人官網手機版 小蘇云呼電話機器人 朝陽手機外呼系統 北京電銷外呼系統加盟 儋州電話機器人 市場上的電銷機器人 所得系統電梯怎樣主板設置外呼 地圖標注面積 佛山400電話辦理

Python連續賦值的注意事項

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

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

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

a = 3
a, 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 = x
        self.next = None

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

def reverseList(self, head):
        L = ListNode(float("-inf"))
        while head:
            L.next, head.next, head = head, L.next, head.next
        return 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批量創建變量并賦值操作
  • python中如何對多變量連續賦值
  • Python基礎之賦值,淺拷貝,深拷貝的區別
  • python模塊中判斷全局變量的賦值的實例講解
  • python 使用pandas同時對多列進行賦值
  • python 實現循環定義、賦值多個變量的操作
  • python for循環賦值問題

標簽:酒泉 商丘 寧夏 金融催收 云南 定西 龍巖 江蘇

巨人網絡通訊聲明:本文標題《Python連續賦值需要注意的一些問題》,本文關鍵詞  Python,連續,賦值,需要,注意,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python連續賦值需要注意的一些問題》相關的同類信息!
  • 本頁收集關于Python連續賦值需要注意的一些問題的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 通化县| 大城县| 宁都县| 涞源县| 嘉义市| 额济纳旗| 正镶白旗| 英山县| 华容县| 景洪市| 调兵山市| 姚安县| 邓州市| 扎兰屯市| 阳春市| 西盟| 海伦市| 丰原市| 新巴尔虎左旗| 婺源县| 铅山县| 民权县| 嵩明县| 浦城县| 甘德县| 靖州| 奉新县| 新余市| 苏尼特右旗| 聂荣县| 永康市| 措勤县| 通化市| 临武县| 古蔺县| 梓潼县| 逊克县| 喀什市| 湟中县| 高州市| 白水县|