我有一个二维 numpy 数组,如下所示:
[[a b c]
[d e f]
[g h i]]
我想打印它而不使用数组通常附带的任何默认符号绒毛;即 [
, ]
和元素之间的空格。像这样的:
abc
def
ghi
是否有可能做这样的事情(当然,没有琐碎且可能昂贵的 Python 循环)?
我看过 numpy.set_printoptions但看起来它只设置了元素如何显示的表示选项,而不是中间的字符。
编辑:数组中的元素有一个字符串表示,可以是任何东西,包括[
、]
和空格。如何构建这样一个数组的最小示例:
class custom(object):
def __repr__(self):
return 'a'
a = numpy.empty((5, 5), custom)
a.fill(custom())
print a
最佳答案
虽然这几乎相当于一个循环,但我认为这可能是您将获得的最佳效果。通常 join
字符串方法非常快。
>>> a = np.array([[1,2,3],[2,4,6],[-1,-2,-3]])
>>> print '\n'.join(''.join(str(cell) for cell in row) for row in a)
123
246
-1-2-3
我认为在这一点上,您最好还是实现一些东西并衡量它需要多长时间。我的猜测是代码中最慢的部分实际上会打印到控制台,而不是将字符串连接在一起。
关于python - 如何在没有任何额外符号(方括号 [] 和元素之间的空格)的情况下打印 Numpy 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9829348/
相关文章:
java - 是否有可用的 Java 库完全支持 Excel 的格式字符串?
c++ - 输出带有数字分组的数字(1000000 为 1,000,000 等等)
c# - 在 C# 中将 Excel 范围作为文本数组或单元格格式的快速方法?
android - 如何在 Android 上将持续时间格式化为具有本地化时间单位的字符串?
python - 我怎样才能产生一个很好的 numpy 矩阵输出?
xml - 选择性地关闭 XML 文件的 Eclipse 格式
javascript - Highcharts y轴千位分隔符
c++ - 使用 BOOST_FOREACH 时如何使 Eclipse CDT 自动缩进?