【问题标题】:Group based on spaces基于空间的分组
【发布时间】:2015-12-07 14:16:04
【问题描述】:

如何在 Python 中更改此文本?

转换这个

                    Main1
                    [SPACE]Submain1
                    [SPACE]Submain2
                    [SPACE]Submain3
                    [SPACE][SPACE]Submain3-1
                    [SPACE][SPACE]Submain3-2

到这里

                    Main1
                    Main1;Submain1
                    Main1;Submain2
                    Main1;Submain3
                    Main1;Submain3;Submain3-1
                    Main1;Submain3;Submain3-2

【问题讨论】:

  • 那么到目前为止你尝试过什么?
  • 谢谢,我解决并编辑了第一条消息。
  • 您可以回答自己的问题并将您的回答标记为已接受,以表明问题已解决。您不应在问题中发布答案。
  • 对不起,我编辑了消息并使用了您提到的答案部分。谢谢

标签: python grouping whitespace


【解决方案1】:

我用这个函数解决了。功能包括最大空间数(深)和步长。基于以上输出的最大空间数为 2 和步骤 1。

def spacegroup(listname,deep,deepstep):
    while deep>deepstep-1:
        temphosts0=listname[:]
        for i in range(len(listname)):
            for j in range(1,len(listname)):
                if listname[i][:deep]==' '*deep and listname[i-j][deep-deepstep]!=' ':
                    temphosts0[i]=listname[i-j].rstrip()+';'+listname[i]
                    break
        listname=temphosts0[:]
        deep-=deepstep
    return temphosts0

hosts0 = open('a','r').readlines()
print ''.join(spacegroup(hosts0,2,1)).replace(' ','')

【讨论】:

    猜你喜欢
    • 2016-06-27
    • 1970-01-01
    • 2020-10-12
    • 1970-01-01
    • 2021-11-05
    • 2018-01-19
    • 2021-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多