【问题标题】:Remove Unwanted Space from Print Function从打印功能中删除不需要的空间
【发布时间】:2018-02-04 23:20:08
【问题描述】:

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

谢谢,

【问题讨论】:

    标签: python printing removing-whitespace


    【解决方案1】:

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

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

    粗体部分是一个生成器,它产生a 中所有is 中的str(..),其中a.count(i) == 1。然后我们将这些字符串加入,并以空格' ' 作为分隔符。

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

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

    【讨论】:

    • 我知道你在那里做了什么!我仍然是 Python 的新手,因此我并不真正了解“生成器”。我会尝试更多地了解这些!谢谢你 ! :-)
    猜你喜欢
    • 2014-12-14
    • 1970-01-01
    • 2014-09-10
    • 2011-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多