如何在python中将垂直字符串更改为水平字符串?
Posted
技术标签:
【中文标题】如何在python中将垂直字符串更改为水平字符串?【英文标题】:How to change a vertical string to a horizontal string in python? 【发布时间】:2020-04-12 07:31:28 【问题描述】:我尝试过使用这些脚本,但它们不起作用。 (x 是垂直变量)
print "".join(x.split())
和
x.replace("\n", "")
(如果可以的话,试着解释你的答案) 样本输入输出: 输入:
H E L L 哦输出: 你好ABC
【问题讨论】:
input
是一个builtins
函数。不要将变量命名为input
。
嘿,让这家伙休息一下,他是新贡献者
OP 如果你能更准确地解释你的问题或你想要达到的目标会更好/很棒
不带括号的print
表示您正在使用Python 2。请强烈考虑改用Python 3,因为Python 2 已经到了生命的尽头。您是在寻找适用于 Python 2 的解决方案,还是也适用于 Python 3 的解决方案?
请edit您的问题提供一些示例输入,以及您的方法的当前输出和所需的输出。
【参考方案1】:
要在 pY3 中将垂直字符串转换为水平字符串,只需在 op 的 print 语句中的 end 命令中添加以下内容。
#when i is your vertical op
#add (",end='')
for i in s1:
print(i, end='')
它将转换为水平操作。
【讨论】:
【参考方案2】:将水平转换为垂直:
您只需在字符串中的每个字符后输入一个换行符 (\n
)。
s1 = "abcd1234" # some horizontal string
s2 = "" # another string: we will use this to store verical form of s1
for i in s1:
s2 = s2 + i + '\n'
将垂直转换为水平:
您只需要在字符串中的每个字符后删除换行符 (\n
)。
s1 = "a\nb\nc\nd\n1\n2\n3\n4\n" # some horizontal string
s2 = "" # another string: we will use this to store horizontal form of s1
for i in s1:
if i != '\\n':
s2 = s2 + i + '\n'
【讨论】:
@jizhihaoSAMA 对不起,我不太明白你想说什么 @jizhihaoSAMA 但问题没有指定使用的python版本。但是,为了更安全,去掉了 print 语句(也更正了代码)。 我不是在尝试将水平字符串转换为垂直字符串,而是在尝试相反的情况。(vertical>horizontal) @jizhihaoSAMAprint(s)
(最初用于此答案)在 Python 2 中不是错误。事实上,它会在 Python 2 和 Python 3 中产生相同的输出。
@Suyash 即使我尝试在 "if i != '\\n':" 中使用您的脚本((IndentationError: 预期缩进块)),仍然有错误【参考方案3】:
input=(a\nb\nc\nd\nA\nB\nC\n) #<---Vertical text
result=input.replace("\n", "") #Convert the vertical text to horizontal text
print(result) #Print the horizontal text
输出: abcABC
100% 为我的计划工作
【讨论】:
以上是关于如何在python中将垂直字符串更改为水平字符串?的主要内容,如果未能解决你的问题,请参考以下文章