从打印功能中删除不需要的 Space

Remove Unwanted Space from Print Function

我需要在 Python 3 中编写一个程序,输出给定数字序列不重复的数字,到目前为止我已经这样做了:

a = list(map(int,input().split()))

for i in a:
    if a.count(i) == 1: 
        print(i,end=" ")

问题是,如果您键入以下序列“4 3 5 2 5 1 3 5”,输出将是“4 2 1”而不是“4 2 1”(这是预期的结果)。我的问题是,有没有办法让 "end" 参数不在末尾打印额外的 space?

谢谢,

在那种情况下,您最好不要让 print(..) 添加 space,而是使用 str.join

print(' '.join(<b>str(i) for i in a if a.count(i) == 1</b>))

粗体部分是生成器,它生成 a 中所有 istr(..),其中 a.count(i) == 1。然后我们 join 这些字符串与 space ' ' 作为分隔符。

这里 print 仍然会添加一个新行,但是我们可以使用 end='' 来禁用它:

print(' '.join(str(i) for i in a if a.count(i) == 1)<b>, end=''</b>)