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

如何去除Numpy网格输出中元素间的空格?

去除NumPy网格输出中的多余空格

问题说明

我需要去除NumPy网格输出里的多余空格,当前代码如下:

import numpy as np
def make_grid():
    grid = np.full((6, 7), " ")
    return grid
grid = make_grid()
print(grid)

当前输出(填充'1'和空值时)

[['1' '1' '1' '1' '1' '1' '1']
 ['1' '1' '1' '1' '1' '1' '1']
 ['1' '1' '1' '1' '1' '1' '1']
 ['1' '1' '1' '1' '1' '1' '1']
 ['1' '1' '1' '1' '1' '1' '1']
 ['1' '1' '1' '1' '1' '1' '1']]


[[' ' ' ' ' ' ' ' ' ' ' ' ' ']
 [' ' ' ' ' ' ' ' ' ' ' ' ' ']
 [' ' ' ' ' ' ' ' ' ' ' ' ' ']
 [' ' ' ' ' ' ' ' ' ' ' ' ' ']
 [' ' ' ' ' ' ' ' ' ' ' ' ' ']
 [' ' ' ' ' ' ' ' ' ' ' ' ' ']]

期望输出(填充'1'和空值时)

[['1''1''1''1''1''1''1']
 ['1''1''1''1''1''1''1']
 ['1''1''1''1''1''1''1']
 ['1''1''1''1''1''1''1']
 ['1''1''1''1''1''1''1']
 ['1''1''1''1''1''1''1']]


[[' '' '' '' '' '' '' ']
 [' '' '' '' '' '' '' ']
 [' '' '' '' '' '' '' ']
 [' '' '' '' '' '' '' ']
 [' '' '' '' '' '' '' ']
 [' '' '' '' '' '' '' ']]

解决方案

方法一:自定义打印函数(完全可控格式)

写一个专门的打印函数,直接按照期望的格式拼接输出内容:

import numpy as np

def make_grid():
    grid = np.full((6, 7), " ")
    return grid

def print_grid(grid):
    print('[', end='')
    for idx, row in enumerate(grid):
        # 除第一行外,前面加空格对齐
        if idx != 0:
            print(' ', end='')
        # 把每行元素直接拼接后套上括号
        print(f"['{''.join(row)}']")
    print(']')

# 测试填充'1'的情况
grid_filled = np.full((6, 7), '1')
print_grid(grid_filled)
print()

# 测试空网格
grid_empty = make_grid()
print_grid(grid_empty)

方法二:字符串替换(快速实现)

直接将NumPy默认输出的字符串进行替换,去掉元素之间的空格:

import numpy as np

def make_grid():
    grid = np.full((6, 7), " ")
    return grid

# 填充'1'的情况
grid_filled = np.full((6, 7), '1')
print(str(grid_filled).replace("' ", "'"))
print()

# 空网格情况
grid_empty = make_grid()
print(str(grid_empty).replace("' ", "'"))

这个方法利用NumPy输出字符串中元素间是' '(单引号加空格)的特点,直接替换为单引号,快速得到期望格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 12:30:42