在一行中打印多行语句

时间:2017-04-29 09:40:24

标签: python printing multiline

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

NUM = """
      74
      89
      90
      """

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

748990

我尝试过:

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

但我得到了它:

74    89    90

我想避免在所有行中编写引号和\ simbols的选项。

提前致谢。

2 个答案:

答案 0 :(得分:2)

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'

答案 1 :(得分:2)

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

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