添加到我的ndarray时,字符串更改为“ <”

时间:2019-01-28 20:27:40

标签: python numpy-ndarray

我正在做一个子手游戏;这不是作业,而是更多的编码项目中的探索/自信(这就是为什么我可能使用一种愚蠢的方式来做到这一点;我不想看任何教程) 。我目前正在尝试构建和打印此人挂起的“脚手架”。

我正在打印一个(单个字符)字符串的ndarray,但是由于某种原因,无论我放在哪里,一个字符都变为“ <”。这是我正在做的测试中的代码:

scaff_mat = np.full((10,20), ".", dtype=str)

scaff_mat[9,0] = "a"
scaff_mat[9,1] = "b"  # yes i know this will be replaced
scaff_mat[:, 1] = ("c" for i in scaff_mat)

除“ c”(或我放置的所有内容)之外的所有东西都变为“ <”。 (调试显示它不仅在打印时发生了变化。)我知道列表理解可能是错误的,所以我的问题是我该怎么做以及“ <”到底是哪里来的?

当前输出,以供参考:

output

最终目标将是“ |”列。

2 个答案:

答案 0 :(得分:1)

您似乎没有进行列表理解,但是却generator expression

scaff_mat = np.full((10,20), ".", dtype=str)

scaff_mat[9,0] = "a"
scaff_mat[9,1] = "b"  # yes i know this will be replaced
scaff_mat[:, 1] = ["c" for i in scaff_mat]

()更改为[]

答案 1 :(得分:1)

只需使用ndarray广播:

scaff_mat[:, 1] = "c"