【问题标题】:print multiline statement in a single line在一行中打印多行语句
【发布时间】:2017-04-29 09:40:24
【问题描述】:

我有一个巨大的数字,看起来像这样(原始版本的简化版):

NUM = """
      74
      89
      90
      """

如何以单行号的方式打印它,中间没有空格?像这样的:

748990

我试过了:

num = NUM.replace('\n', '').strip()
print(num)

但我是这样理解的:

74    89    90

我想避免在所有行中都写引号和\符号。

提前致谢。

【问题讨论】:

    标签: python printing multiline


    【解决方案1】:

    NUM.replace('\n', '').strip()

    上面的方法是从前端和后端进行条形修剪,而不是在中间。

    你可以使用re.sub:

    >>> import re
    >>> re.sub('[ \n]', '', NUM)
    '748990'
    

    使用re.findall

    >>> "".join(re.findall("\d", NUM))
    '748990'
    

    你也可以这样做

    >>> NUM.replace("\n", '').replace(' ', '')
    '748990'
    

    使用filterstr.isdigit

    Python 3.x

    >>> "".join(filter(str.isdigit, NUM))
    '748990' 
    

    Python 2.x

    >>> filter(str.isdigit, NUM)
    '748990'
    

    【讨论】:

    • re 对于这个问题可能有点矫枉过正。
    【解决方案2】:

    您可以使用split()join() 获取每一行:

    >>> ''.join(NUM.split())
    '748990'
    

    【讨论】:

      猜你喜欢
      • 2018-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-04
      相关资源
      最近更新 更多