将两个字符串的串联附加到列表

时间:2018-10-02 08:18:06

标签: python

让我们说,我有一个清单。我有两个字符串,比如说“ abc”和“ ced”,我想将这两个字符串的连接追加到python中的列表中,例如“ abcced”。

我有以下代码段:

     if t == 1 :
       j = n + " ifcnt " + str(ifcnt)
       lst_output.append(j)
    else :
       lst_output.append(n)

p = open("po.txt" , 'w')

for i in lst_output :
    p.write(i)
    print(i)

我已将其保存在文件“ bool.py”中。为了将输出重定向到文件,我运行了以下命令:

python clarbool.py >> po.txt。

但是,对于附加了两个字符串的行,我得到的输出如下:

如果n =“我们想要的是一件最有趣的事情”

"an out is  a single most interesting thing that we want " 
"ifcnt 5 "   

已正确添加了附加的字符串,但显然之间有一个换行符。

我期望的输出是:

"an out is  a single most interesting thing that we want ifcnt 5 " . 

在之间添加换行符的原因是什么?如何获得预期的输出?

3 个答案:

答案 0 :(得分:0)

换行符由print函数s default argument for结束`添加。

这样称呼:

print("your string here", end="")

它将满足您的需求。

来自文档:

Docstring:
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

答案 1 :(得分:0)

除了anuvrat的答案外,在代码末尾执行print()

...
print()

注意:如果python的版本不是3,请在代码的第一行执行from __future__ import print_function

最好的还是:

...
p.write(''.join(list_output))
print(''.join(list_output))

或者:

...
p.write(''.join(list_output))
print(*list_output,sep='')

但是如果版本不是3,则仍必须在代码顶部执行from __future__ import print_function

答案 2 :(得分:0)

p.write(lst_output[0] + lst_output[1])

演示:

n = 'an out is a single most interesting thing that we want '
a = 'ifcnt 5'

l = [n, a]
print(l[0] + l[1])
an out is a single most interesting thing that we want ifcnt 5