You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python循环中如何统一用.join()/.replace()简化print输出?

如何在Python循环层面统一实现print无空格拼接输出?

问题场景

现有一段Python循环代码,循环内的print语句输出字符串与数字时,默认会在两者之间添加空格。希望无需逐个修改print语句(比如不用.join()或.replace()),而是在循环层面统一处理,让输出的字符串和数字直接拼接在一起。

输入代码:

for a in range(1, 10):
    print("Squirtle",a)
    print("Bulbasaur",a)
    print("Charmander",a)

当前输出:

Squirtle 1
Bulbasaur 1
Charmander 1
Squirtle 2
etc.
etc.
etc.

期望输出:

Squirtle1
Bulbasaur1
Charmander1
Squirtle2

解决方案

可以通过重定义print函数的默认分隔符来实现,不用修改循环内的任何print语句:

# 先保存原始print函数
original_print = print
# 重定义print,默认sep设为空字符串
def print(*args, sep='', **kwargs):
    original_print(*args, sep=sep, **kwargs)

# 原循环代码完全不变
for a in range(1, 10):
    print("Squirtle",a)
    print("Bulbasaur",a)
    print("Charmander",a)

原理说明

Python内置的print函数默认使用sep=' '作为多个参数之间的分隔符,所以当你传入字符串和数字两个参数时,会自动用空格隔开。重定义后把sep的默认值改成空字符串,后续所有print调用都会默认使用空分隔,从而直接拼接参数内容。

内容的提问来源于stack exchange,提问作者WickedWebby

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 00:35:12