【问题标题】:Python3 Multi-Lined String Print NextPython3 多行字符串打印下一个
【发布时间】:2018-08-11 07:31:33
【问题描述】:

如何使用 next() 函数打印每行下面以“string”开头的行?我只找到了如何从 .t​​xt 文档中执行此操作的答案,但我不想在这种情况下使用文本文档。这是我迄今为止尝试过/拥有的...

longString = """
    string1
    01

    string2
    02

    string3
    03
    """
lines = longString.split('\n')
for line in lines:
    if line.startswith(str(mylist[0])): # The mylist[0] is "string"
        print(line)

Output:
string1
string2
string3

【问题讨论】:

    标签: string python-3.x printing next


    【解决方案1】:
    longString = """
    string1
    01
    
    string2
    02
    
    string3
    03
    """
    lines = iter(longString.split('\n'))
    for line in lines:
        if line.startswith("string"):
            print(next(lines))
    
    Output:
    01
    02
    03
    

    您需要一个实际的迭代器(不仅仅是一个可迭代序列)来使用next() - 而内置的iter() 函数就是这样做的。

    请注意,我必须删除字符串中的前导空格 - 实际上没有一行以“字符串”开头。

    【讨论】:

      猜你喜欢
      • 2017-02-10
      • 1970-01-01
      • 2016-07-13
      • 1970-01-01
      • 2021-07-12
      • 2021-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多