Print语句会创建不需要的换行符

时间:2018-01-12 17:53:43

标签: python python-3.x newline

我正在尝试浏览一长串单词,并将小写单词和大写单词(默认)打印到同一行的屏幕上。这是我的代码:

for word in word_list:

    print("Here is: {0} and {1}".format(word.lower(), word))

然而,这有输出(只显示两个单词):

Here is: word1 
 and WORD1

Here is: word2 and WORD2

我无法摆脱word1和WORD1之间的换行符。我尝试打印的最后一个单词似乎没有发生。关于为什么以及如何克服这个问题的任何想法?

1 个答案:

答案 0 :(得分:2)

以下是重现问题的示例:

In [1411]: word = 'WORD1\n'

In [1412]: print("Here is: {0} and {1}".format(word.lower(), word))
Here is: word1
 and WORD1

注意尾随换行符。您的列表元素之一就是那些。您可以使用str.strip删除它。

In [1413]: word = word.strip(); print("Here is: {0} and {1}".format(word.lower(), word))
Here is: word1 and WORD1

如果只有尾随空白字符(不是前导字符)的可能性,您也可以使用str.rstrip,(r =>右)。

在相关说明中,我建议您查看Rubber Duck Debugging