2016-11-18 33 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从字符串内容定义它

相关问题