从打印功能中删除不需要的 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
中所有 i
的 str(..)
,其中 a.count(i) == 1
。然后我们 join 这些字符串与 space ' '
作为分隔符。
这里 print 仍然会添加一个新行,但是我们可以使用 end=''
来禁用它:
print(' '.join(str(i) for i in a if a.count(i) == 1)<b>, end=''</b>)
我需要在 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
中所有 i
的 str(..)
,其中 a.count(i) == 1
。然后我们 join 这些字符串与 space ' '
作为分隔符。
这里 print 仍然会添加一个新行,但是我们可以使用 end=''
来禁用它:
print(' '.join(str(i) for i in a if a.count(i) == 1)<b>, end=''</b>)