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

如何高效创建存储布尔值的网格(仿扫雷游戏场景)

高效创建全False布尔网格的方法

如果你要搭建类似扫雷的布尔网格,完全不用手动逐个写False,以下几种方法高效又简洁:

  • 基础列表推导式(推荐)
    先生成单行全False的列表,再通过推导式构建多行网格。比如要做15行10列的网格:

    # 生成包含10个False的单行
    single_row = [False] * 10
    # 生成15行的网格,每行都是独立的新列表
    mine_grid = [[False] * 10 for _ in range(15)]
    

    注意别用[[False]*10]*15,这种写法会让所有行指向同一个列表对象,修改某一行的元素会影响所有行,推导式能避免这个问题。

  • 用itertools.repeat生成
    如果你觉得列表乘法不够直观,可以用itertools模块的repeat函数生成重复元素:

    import itertools
    single_row = list(itertools.repeat(False, 10))
    mine_grid = [list(itertools.repeat(False, 10)) for _ in range(15)]
    

    效果和列表乘法一致,适合需要明确表达“重复生成元素”逻辑的场景。

  • 用numpy创建高效数组(适合大网格)
    如果你的网格规模较大,或者需要频繁做批量操作,用numpy库的full函数更高效,内存占用也更小:

    import numpy as np
    mine_grid = np.full((15, 10), False, dtype=bool)
    

    numpy的布尔数组在内存中按位存储,比普通列表更节省空间,后续的遍历、修改操作也更快。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 23:15:50