簡體   English   中英

在python中覆蓋list關鍵字

[英]overwriting list keyword in python

我用Python編寫了一個簡短的鏈表程序,但是沒有實現list是python中的關鍵字,我將LinkedList對象存儲到列表中

list = LinkedList()

運行這個程序工作正常,但現在我遇到了另一個程序的問題,我需要正常使用list關鍵字,但它仍然包含對LinkedList對象的引用,而不是正確的關鍵字功能。 我已經回到我的LinkedList類和編輯list而不是lst ,但我在使用list關鍵字的類中仍然有相同的錯誤。 如何將list關鍵字重置為其原始值?

這是給我一個錯誤的行:

df = pd.DataFrame(randn(6,4), index = dates, columns = list("ABCD"))

這是錯誤消息:

TypeError:'LinkedList'對象不可調用

正如Kroltan在他的評論中所說的那樣,停止陰影內置幾乎肯定會更好,但正如Python引用的那樣

我們都在這里同意成年人

所以…

>>> list='axe'
>>> __builtins__.list('abc')
['a', 'b', 'c']

另外,為了好玩,您可以使用type函數將文字轉換為其type函數。

>>> list='chuck testa'
>>> type([])('abc')
['a', 'b', 'c']
>>> type(3)(10.5)
10

等等

通常覆蓋內置函數並不理想,您可以使用del__builtins__來修復它。

使用del重置它:

>>> list = '1,2,3'
>>> list
'1,2,3'
>>> del list
>>> list
<type 'list'>

使用__builtins__.list重置它。

>>> list = '1,2,3'
>>> list
'1,2,3'
>>> list = __builtins__.list
>>> list
<type 'list'>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM