这句话(line,str)= str.split(“\ n”,1)是什么意思?

时间:2016-07-29 08:38:28

标签: python string iterable

我熟悉split函数,我会这样使用它:

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

以上将返回:

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

简单易行。但是,我遇到了一段有这句话的代码:

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

我有两件事我不明白:

  1. split的第二个参数以及它的作用。我看了here,它说的是行数。这是什么意思?

  2. split返回一个可迭代的向量。为什么要将其分配给(line, str)(line, str)在这里意味着什么?

2 个答案:

答案 0 :(得分:6)

第二个参数maxsplit=1表示在您遇到分隔符\n 后停止拆分。

因此,您只有两个部分,即您的行和字符串的其余部分。

例如:

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'

答案 1 :(得分:0)

使用基本字符串how do you do ?进行测试。 line将获得拆分的第一个元素,str将获得其余元素(因为我们只拆分一次)