我试图提取一个二维数组中的单词,所以我需要做一个行和列检查,这样我就可以得到字符。你知道吗
示例: 我有一个数组,它包含一个二维空间,如图Click here所示,这是存储数组的代码。我已经把它调整到15x15了
arr2 = np.array([my_list2])
arr2 = arr2.reshape(15,15)
问题是每次我提取字符时,它都不会给我苹果的a。
E
A
G
L
E
P
P
L
E
这是让我提取字符串的代码:
board_size = 15
print(arr2)
for i in range(board_size):
for j in range(board_size):
val = arr2[i,j]
if val != '0' :
print(val)
你知道吗` 我需要的输出是能够显示鹰和苹果。你知道吗
在这种情况下,您可以遍历行和列(使用索引)并使用列表理解来删除
0
输出:
a
是硬编码的值,例如清晰度,请注意a.shape
的用法,它比幻数更优雅。你知道吗正如在注释中所指出的,它在原始形式中有一个缺陷,为了避免这个问题,
for
应该按照以下方式:注意,现在
words
是list,这个方法还可以在一行或一列中检测两个或多个单词。你知道吗这是一种不用numpy就能实现目标的方法:
输出:
如果使用numpy,您可以类似地解决这个问题—只需删除起始/结束0,在0处拆分并应用于普通和转置的数据。你知道吗
该方法有一个缺点-您需要在两个方向上的任何非构词字符之间
0
才能让它工作(您不能使用“EGG”开头的ad“(E)agle”,因为您从它得到GP
两次。你知道吗相关问题 更多 >
编程相关推荐