Python 这个语句(行,str)=str.split(“\n”和“1”)是什么意思?

Python 这个语句(行,str)=str.split(“\n”和“1”)是什么意思?,python,string,iterable,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) 有两件事我不明白: split的第二个参数及其作用。我看了看,上面写着生产线的数量。这是什

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

str = "Line1-abcdef \nLine2-abc \nLine4-abcd"
print str.split( )
以上内容将返回以下内容:

['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
简单易用。但是,我遇到了一段代码,其中包含以下语句:

(line, str) = str.split("\n", 1)
有两件事我不明白:

  • split
    的第二个参数及其作用。我看了看,上面写着生产线的数量。这是什么意思

  • split
    返回一个iterable向量。为什么它被分配到
    (行,str)
    ?这里的
    (line,str)
    是什么意思


  • 第二个参数
    maxplit=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'
    

    使用基本字符串进行测试,
    你怎么做?

    line
    将获得拆分的第一个元素,
    str
    将获得其余元素(因为我们只拆分了一次)

    如果您感到好奇,为什么不试试呢?请仔细阅读您指出的文档,特别是示例,你会明白的。看看split是如何工作的。@Bakuriu谢谢你能回答这个问题吗?很不幸,在python2中,maxsplit参数不能通过关键字传递。这在python3中是固定的,在python3中,您可以编写
    str.split('\n',maxslit=1)
    ,并使代码更加自我记录。