【问题标题】: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'
使用filter 和str.isdigit:
Python 3.x
>>> "".join(filter(str.isdigit, NUM))
'748990'
Python 2.x
>>> filter(str.isdigit, NUM)
'748990'
【解决方案2】:
您可以使用split() 和join() 获取每一行:
>>> ''.join(NUM.split())
'748990'