主頁(yè) > 知識(shí)庫(kù) > Python連續(xù)賦值需要注意的一些問(wèn)題

Python連續(xù)賦值需要注意的一些問(wèn)題

熱門標(biāo)簽:北瀚ai電銷機(jī)器人官網(wǎng)手機(jī)版 小蘇云呼電話機(jī)器人 朝陽(yáng)手機(jī)外呼系統(tǒng) 北京電銷外呼系統(tǒng)加盟 儋州電話機(jī)器人 市場(chǎng)上的電銷機(jī)器人 所得系統(tǒng)電梯怎樣主板設(shè)置外呼 地圖標(biāo)注面積 佛山400電話辦理

Python連續(xù)賦值的注意事項(xiàng)

在python中是可以使用連續(xù)賦值的方式來(lái)一次為多個(gè)變量進(jìn)行賦值的,比如:

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

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

a = 3
a, b = 1, a

如果按照正常的思維邏輯,先進(jìn)行a = 1,在進(jìn)行b = a,最后b應(yīng)該等于1,但是這里b應(yīng)該等于3,因?yàn)樵谶B續(xù)賦值語(yǔ)句中等式右邊其實(shí)都是局部變量,而不是真正的變量值本身,比如,上面例子中右邊的a,在python解析的時(shí)候,只是把變量a的指向的變量3賦給b,而不是a=1之后a的結(jié)果,這一點(diǎn)剛開(kāi)始學(xué)python的人可能容易誤解,再舉一個(gè)Leetcode里鏈表的例子理解就更深了。

假如要對(duì)一個(gè)鏈表進(jìn)行翻轉(zhuǎn),就比如把1—>2->3->4轉(zhuǎn)化為4->3->2->1

對(duì)于這個(gè)問(wèn)題很簡(jiǎn)單,只要反轉(zhuǎn)指針就可以了,假如鏈表結(jié)構(gòu)為:

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

我們可以用很簡(jiǎn)單的三行代碼完成這個(gè)過(guò)程:

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

這里的L是指向一個(gè)新建的結(jié)點(diǎn),因?yàn)閜ython沒(méi)有指針的概念,所以用一個(gè)額外的結(jié)點(diǎn)來(lái)代替頭指針,這里的核心代碼就是中間那一行三個(gè)變量的連續(xù)賦值,如果單獨(dú)一句句來(lái)理解的話,最后肯定是想不通的,在這里,假設(shè)head結(jié)點(diǎn)是鏈表串'1->2->3->4'的頭結(jié)點(diǎn),先用新的L結(jié)點(diǎn)的next指針指向head的第一個(gè)結(jié)點(diǎn)‘1',之后將L.next(第一次也就是空)賦給了head的next指針,之后再把head的next指針(注意,這里的next指針還是指向‘2'的,而不是空)賦給head,相當(dāng)于next向前移一位,這一步相當(dāng)于一個(gè)串變成了兩個(gè):

L:‘-inf'->‘1'
head:‘2'->‘3'->‘4'->‘5'

Python花樣賦值方法總結(jié)

#連等賦值
a=b=c=1
#拆包賦值
a,b=1,2
#用_占位和*代表不確定個(gè)參數(shù)進(jìn)行拆包賦值
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

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • python批量創(chuàng)建變量并賦值操作
  • python中如何對(duì)多變量連續(xù)賦值
  • Python基礎(chǔ)之賦值,淺拷貝,深拷貝的區(qū)別
  • python模塊中判斷全局變量的賦值的實(shí)例講解
  • python 使用pandas同時(shí)對(duì)多列進(jìn)行賦值
  • python 實(shí)現(xiàn)循環(huán)定義、賦值多個(gè)變量的操作
  • python for循環(huán)賦值問(wèn)題

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python連續(xù)賦值需要注意的一些問(wèn)題》,本文關(guān)鍵詞  Python,連續(xù),賦值,需要,注意,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python連續(xù)賦值需要注意的一些問(wèn)題》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Python連續(xù)賦值需要注意的一些問(wèn)題的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章