Python雙向鏈表結構如何修改節點值?Python內雙向鏈表怎么修改元素

在小編之前的一篇文章之中已經給大家介紹過了python中的雙向鏈表是如何創建的,也講解了一個能根據索引獲取雙向鏈表內節點元素值的方法該怎么編寫 。那么這篇文章正好來給大家講解一下python中雙向鏈表是如何修改節點值的,一起往下看看吧 。

Python雙向鏈表結構如何修改節點值?Python內雙向鏈表怎么修改元素


1.首先需要知道的一個點就是,操作雙向鏈表的方法需要依賴于節點對象才能夠實現,所以這些函數都是需要寫在雙向鏈表節點類之中的 。那么鏈表內的每一個節點都可以視為單獨的一個對象,所以修改雙向鏈表節點元素的函數可以命名為setitem并傳入兩個參數,代碼如下:
def __setitem__(self, index, value):其中seff表示的就是節點對象,也就是節點類本身 。而index則是這個節點在雙向鏈表內的索引值,value可以為任意數據類型,它是要去修改元素的值 。
2.那么在這個方法之中只需要使用一個while循環就可以完成修改雙向鏈表元素值的操作,在循環前需要定義兩個變量 。其中一個變量賦值為-1,它表示雙向鏈表從此開始循環,每次循環都要給它加上1 。
另一個變量則需要通過節點本身的head值來賦值,它表示的是雙向鏈表的頭節點,因為鏈表必須從頭或者尾部開始訪問并且只能一個個節點去依次訪問 。所以在循環中要使用它的next值來不斷地訪問每一個節點,在最后一次循環之中獲取到的節點對象就是索引值的節點了 。修改它的data屬性即可,代碼如下:
count = -1current = self.headwhile count < index:  current = current.next  count += 1current.data = value【Python雙向鏈表結構如何修改節點值?Python內雙向鏈表怎么修改元素】以上就是關于“Python雙向鏈表結構如何修改節點值?Python內雙向鏈表怎么修改元素”的全部內容了,希望對你有所幫助 。

    猜你喜歡