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