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

如何使用列表推导式(List Comprehensions)实现指定嵌套循环代码?

用列表推导式实现嵌套循环打印坐标的方案

嘿,这事儿很简单,咱们先理清楚原代码的逻辑:你原来的嵌套循环是遍历每一行r和每一列c,然后打印出[r,c]这个坐标列表。用列表推导式的话,分两种情况来实现,我给你详细说:

推荐的规范写法

列表推导式的核心是生成列表,所以最佳实践是先用它生成所有坐标的集合,再遍历打印每个元素,这样代码清晰易读,也符合Python的设计意图:

# 先定义你的row和column值,比如row=3,column=2
row = 3
column = 2

# 用列表推导式生成所有[r,c]的列表
coordinates = [[r, c] for r in range(row) for c in range(column)]

# 遍历打印每个坐标
for coord in coordinates:
    print(coord)

这里的列表推导式[[r, c] for r in range(row) for c in range(column)]完全对应你原来的嵌套循环顺序:先外层循环r,再内层循环c,生成的结果和原循环遍历的顺序完全一致。

不推荐的"一行式"写法(仅作了解)

如果你非要把打印逻辑塞进列表推导式里(虽然这属于滥用列表推导式,因为它本来不是用来执行副作用的),可以这么写:

row = 3
column = 2
# 用_接收无意义的None列表(因为print返回None),只为执行打印操作
_ = [print([r, c]) for r in range(row) for c in range(column)]

为什么不推荐这种?因为这个列表推导式生成的是一个全是None的列表,我们完全不需要这个列表,只是借它的循环机制来打印,可读性差,也不符合Python的代码风格规范,所以除非特殊场景,不建议这么用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:08:46