Python 3实现非重复数字输出时,如何消除print末尾多余空格?
解决Python print末尾多余空格的问题
哈哈这个问题我之前也碰到过,确实有点烦!其实有好几种简单的办法可以解决,不用纠结end参数的问题:
方法1:用str.join()拼接后打印
先把你要输出的不重复数字收集到一个列表里,然后用空格把它们拼接成一个完整的字符串再打印,这样就不会有末尾的多余空格了。比如假设你已经得到了去重后的数字列表unique_nums = [4, 2, 1],代码可以这么写:
unique_nums = [4, 2, 1] print(' '.join(map(str, unique_nums))) # 把整数转成字符串再拼接
这样输出就是4 2 1,完美符合预期。
方法2:利用print的sep参数直接打印多个元素
Python的print函数支持同时传入多个参数,用sep指定分隔符,它只会在元素之间加分隔符,不会在末尾加。代码更简洁:
unique_nums = [4, 2, 1] print(*unique_nums, sep=' ')
这里的*是解包列表,把列表里的元素一个个传给print,sep设为空格,输出同样是没有末尾空格的结果。
方法3:循环时判断是否为最后一个元素
如果你是在循环里逐个打印元素,不想提前收集所有元素的话,可以通过索引判断当前是不是最后一个元素,动态设置end参数:
unique_nums = [4, 2, 1] for i, num in enumerate(unique_nums): # 不是最后一个元素就加空格,最后一个不加 print(num, end=' ' if i != len(unique_nums)-1 else '')
个人最推荐前两种方法,尤其是方法2,代码简洁又直观,完全不用操心末尾空格的问题~
内容的提问来源于stack exchange,提问作者Xx_DarDoAzuL_xX
相关产品推荐
相关产品推荐

