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

如何用Python创建n×n菱形结构的二维数组?

生成n×n菱形二维数组的Python实现问题

需求说明

  • 实现一个Python函数,生成n×n的二维数组,构成完整菱形结构:
    • 当n为偶数时,菱形宽度为两个1
    • 当n为奇数时,菱形宽度为一个1
    • 示例:调用diamond(3)需返回:
      [['0', '1', '0'], 
       ['1', '1', '1'], 
       [' ', '1', ' ']]
      

当前问题

自行编写的my_diamond函数仅能生成十字结构,无法实现完整菱形,代码如下:

def my_diamond(n):
    if n % 2 == 0:
        return [
            ["1" if (i+1 == n//2) or (i == n//2) or (j == n//2) or (j+1 == n//2)
             or (i > 0 and j>0 and i!=j and (i%j ==0 or j%i ==0))
             else "0" for i in range(n)
            ] 
            for j in range(n)
        ]
    return [
        ["1" if (i == n//2) or (j == n//2)
         or (i > 0 and j>0 and  (i%j ==0 or j%i ==0))
         else "0" for i in range(n) 
        ] for j in range(n)
    ]

诉求

已知有依赖numpy的实现方案,但希望不借助任何第三方库,纯Python实现需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 19:50:45