2016-07-29 10 views
-3

私はsplit機能に精通していると私はそのように使用します。このステートメント(line、str)= str.split( " n"、1)はどういう意味ですか?

str = "Line1-abcdef \nLine2-abc \nLine4-abcd" 
print str.split() 

は、上記の本を返します:

['Line1-abcdef', 'Line2-abc', 'Line4-abcd'] 

シンプルで使いやすいです。しかし、私はこの文を持っているコードの一部に出くわした:

  1. splitのパラメータと、どのようなことが行われます。

    (line, str) = str.split("\n", 1) 
    

    私はここに理解しない2つのものがあります。私はhereを見て、それは行の数を言う。どういう意味ですか?

  2. splitは反復可能なベクターを返します。 (line, str)に割り当てられているのはなぜですか? (line, str)の意味は?

+2

好奇心があれば**試してみてください。 –

+0

あなたがより慎重に指摘したドキュメントを読んでください。特に例を理解すると分かります。 –

+0

splitの仕組みについては、[here](https://docs.python.org/2/library/stdtypes.html#str.split)を参照してください。 – khelwood

答えて

5

あなたはいったん区切り\nを満たした後、第二引数maxsplit=1ストップ分割を意味しています。

したがって、行と残りの文字列の2つの部分だけがあります。例えば


:基本的な文字列で

str = 'This is one line\nThis is a second line\nThis is a third line' 
(line, str) = str.split('\n', 1) 
print(line) 
# 'This is one line' 
print(str) 
# 'This is a second line\nThis is a third line' 
+0

にしてもらえますか? –

+1

python2では、maxsplit引数をキーワードで渡すことはできないというのは残念です。これは、 'str.split( '\ n'、maxsplit = 1)'を書くことができるpython3で修正され、コードをもっと文書化します。 – Bakuriu

0

テスト、how do you do ?lineは分割の最初の要素を取得し、strは残りの部分を取得します(1回だけ分割するため)

関連する問題