2016-11-18 5 views
-3

この方法を使用できますか?splitを使用して単語のリストを定義する

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

私はそれがより多くの明確に見えると思う:単語のリスト

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

「確実な」とはどういう意味ですか? –

+2

cの最初の行結果として最後の行が生成されます。最後の行はそれぞれの 'list'内の唯一の行です。 2番目は混乱の原因となる 'tuple'を定義するための怠惰な方法で、最後に' tuple'を定義する適切な方法です。だから、私にとって唯一の疑問は、「私の弦のリストまたはタプル?」です。答えは「それはあなたがそれでやりたいことに依存します」と答えています。タプルは不変ですが、リストはそうではありません。 –

+0

[Pythonチュートリアルのリスト](https://docs.python.org/2/tutorial/introduction.html#lists)と[5.1 [More on Lists ...] 5.3をよく読んでください。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' 

この1つは、括弧で囲まれたタプルである:

@EvKounisが言ったように
fields = ('id', 'name', 'legal_address', 'inn') 
0

、#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 

を(タプルは、それが "不変" ですが、変更することはできません。それはListと共に他のSequenceタイプです。これは4#のように[...]を使用して、それをインスタンス化と本質的に同一である一般的に、我々は考え;。あなたはPython Tutorial on Lists5.1 More on Lists .. 5.3 5.3. Tuples and Sequences

(時にはあなたがlist(...)キーワードを使用して、リストを作成するための別の同義語が表示されることがありますの迅速な読み取りを取ることをお勧めします代わりに、#4の操作を行います。

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

ようにこれ一つであり、「最も確実」の両方#1、#の4,4b:#1 4,4bは、あなたが直接リストを定義できます;#1は、文字列の内容から、それを定義します

関連する問題