2016-11-18 41 views
-3

我可以使用這種方法嗎?使用split來定義單詞列表

fields = 'id name legal_address inn'.split() 

我認爲它看起來更清晰比:

fields = ['id', 'name', 'legal_address', 'inn'] 
+3

你認爲'最可靠'是什麼意思? –

+2

c的第一行頌揚你最後產生的結果。最後一行是每個'list'中出現的唯一行。第二種是定義一個引起混淆的'元組'的懶惰方法,最後第三個定義'tuple'是正確的方法。所以唯一對我有意義的問題是「列表或元組爲我的字符串?」答案就是「這取決於你想用它做什麼」。元組是不可變的,列表不是。 –

+0

建議您快速閱讀[列表Python教程](https://docs.python.org/2/tutorial/introduction.html#lists)和[5.1詳細列表.. 5.3 5.3。元組和序列](https://docs.python.org/2/tutorial/datastructures.html) – smci

回答

0

單詞的列表:

fields = ['id', 'name', 'legal_address', 'inn'] 
0

這是 '最可靠':

fields = ['id', 'name', 'legal_address', 'inn'] 

這將創建第一個列表和結果:

fields = 'id name legal_address inn'.split() 

這是一個元組無表情:

fields = 'id', 'name', 'legal_address', 'inn' 

這之一是,被包圍在括號中的元組:

fields = ('id', 'name', 'legal_address', 'inn') 
0

正如@EvKounis說,#1和#4都創建一個list,#1通過分割字符串,而#4通過直接實例化列表:

fields = 'id name legal_address inn'.split() # 1 
fields = ['id', 'name', 'legal_address', 'inn'] # 4 

,而這兩個創建元組

fields = 'id', 'name', 'legal_address', 'inn' # 2 
fields = ('id', 'name', 'legal_address', 'inn') # 3 

(A元組不能被修改,這是 「不可改變的」。這是另一個序列類型以及List。建議您採取Python Tutorial on Lists5.1 More on Lists .. 5.3 5.3. Tuples and Sequences

(有時候,你可能會看到另一個代名詞創建列表,使用list(...)關鍵字的快速閱讀,這是使用[...]爲#4實例也基本相同一般來說,我們會。做#4代替:

fields = list('id', 'name', 'legal_address', 'inn') # call this #4b 

至於哪一個是「最可靠的」,無論是#1,#4,4b:#4,4b允許你直接定義列表;#1從字符串內容定義它