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

时间:2018-02-04 15:17:26

标签: python printing removing-whitespace

我需要在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" (这是预期的结果)。我的问题是,有没有办法让"结束"参数不是在最后打印一个额外的空格?

谢谢,

1 个答案:

答案 0 :(得分:0)

在这种情况下,您最好不要让print(..)添加空格,而是使用str.join代替:

print(' '.join(str(i) for i in a if a.count(i) == 1))

粗体部分是一个生成器,它会生成str(..) i中所有a的{​​{1}}。然后我们这些字符串与空格a.count(i) == 1一起作为分隔符加入。

此处打印仍会添加新行,但我们可以使用' '禁用该行:

end=''