2015-06-26 311 views
12

我是一個Python初學者,有一個難題。 當我寫這樣的代碼:當我爲變量分配一個列表時,爲什麼Pycharm會給我一個提示,即「該列表創建可以重寫爲列表文字」?

lst = [1, 2, 3, 4] 

Pycharm給我一個提示,那就是「此列表的創建可以改寫爲文字列表」。 但是,如果它被替換爲

lst = list([1, 2, 3, 4]) 

Pycharm沒有說什麼。誰能告訴我爲什麼?

這段代碼是否像lst = [1, 2, 3, 4]在Python中是合法的?我可以忽略提示嗎?

回答

8

檢查您的代碼以確保您沒有lst作爲lst=[]

如果您鍵入以下內容:

lst= [] 
# more code 
lst = [1, 2, 3, 4] 

您會收到你得到的提示。如果你保持這種方式,你不會遇到問題,但這是不好的做法。

在這兩種情況下,您正在使用函數來更改變量:list()append()。在前一個你明確地重新定義變量的地方。

另一個不正確的例子:

a = 7 
# some code that has nothing to do with "a" or uses it 
a = 8 

只需設置a = 8開始。無需存儲a = 7

12

在Python中編寫這樣的代碼是完全合法的。然而,寫作就像

lst = [1, 2, 3, 4, 12] 

代碼將是「更好」比

lst = [1, 2, 3, 4] 
... # code has nothing do to with lst 
lst.append(12) 

一般來說,前者將會有更好的表現比後者,但如果後者是更具可讀性你case /你有一個很好的理由,那麼你可以忽略PyCharm提示符。

如果你煩惱,你可以關閉在

「PyCharm->設置 - >編輯 - >查閱─> Python->列表建立可能是......」

把這個檢查
相關問題