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

Python中能否为print的end参数设条件?如何用列表推导式实现8×8坐标网格输出

单行实现8×8坐标网格输出(嵌套列表推导式版)

直接用一行代码就能搞定,核心是用嵌套列表推导式生成每行的坐标字符串,再通过换行符拼接后一次性打印:

print('\n'.join([' '.join([f"{chr(ord('A') + col)}{row+1}" for col in range(8)]) for row in range(8)]))

代码拆解:

  • 内层列表推导式 [f"{chr(ord('A') + col)}{row+1}" for col in range(8)]:生成单行的8个坐标(比如row=0时,生成A1到H1)
  • 用' '.join(...)把单行的坐标用空格隔开,变成一个完整的行字符串
  • 外层列表推导式遍历row从0到7,生成8行这样的字符串
  • 最后用'\n'.join(...)把8行字符串用换行符拼接,print后就自动按8×8的格式显示

如果之前尝试用print(..., end=...)的方式,需要判断是否为每行最后一个元素才换行,反而复杂。用join的方式更简洁,完全不需要额外的for循环语句,纯单行推导式就能实现需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 23:54:24