如何在Python循环打印时添加元素分隔符且末尾无多余符号?
解决方法:避免循环打印末尾出现分隔符
下面给你几种实用的解决思路,都是Python里常用的写法:
1. 用str.join()拼接后打印(最推荐)
这是Python里处理元素分隔最优雅的方式,直接把所有元素转成字符串,用-连接后一次打印,天然不会有末尾的多余符号:
# 第一个循环 print("-".join(map(str, range(0, 4)))) # 第二个循环 print("-".join(map(str, range(0, 10, 2))))
原理:map(str, range(...))把range里的每个数字转成字符串,"-".join()用连接符把这些字符串串成一个整体,最后打印这个整体就搞定了。
2. 循环内判断是否为最后一个元素
把range转成列表后,遍历的时候检查当前元素是不是最后一个,是的话就不输出-:
nums = list(range(0, 4)) for num in nums: # 用三元表达式简化写法 print(num, end="" if num == nums[-1] else "-") print() nums2 = list(range(0, 10, 2)) for num in nums2: print(num, end="" if num == nums2[-1] else "-")
3. 拆分打印:先打前面元素,最后单独打末尾元素
先遍历除最后一个外的所有元素,每个后面加-,最后单独打印最后一个元素(不加后缀):
# 第一个循环 r = range(0, 4) for num in r[:-1]: print(num, end="-") if r: # 防止range为空时报错 print(r[-1]) # 第二个循环 r2 = range(0, 10, 2) for num in r2[:-1]: print(num, end="-") if r2: print(r2[-1], end="")
如果你的元素数量不多,第一种方法绝对是首选,代码短还不容易出错。
内容的提问来源于stack exchange,提问作者bludum8
相关产品推荐
相关产品推荐

