我正在寻找一种快速的方法来查找 Array 中的单词并获取它们的字母索引。单词可以水平放置,垂直放置,对角放置,在每个方向(左-右、右-左、上-下、下-上、左下-右上、右上-下左、右下-左上、左上-右下)。主要问题是对角维度......我该怎么办?
例子:
Matrix:
[['CHYD'],
['IAOB'],
['LGTA'],
['EFGE'],
['RXBW']]
Words:
['CAT',
'DOG',
'EGO',
'RELIC',
'TOY']
我需要用keys=Rowindex 和Value=[找到单词字母的列索引集] 获取字典。在我的示例中,我会发现:
- 'CAT' 在 (0,0), (1,1), (2,2)
- (0,3), (1,2), (2,1) 中的“狗”
- (1,2), (2,1), (3,0) 中的“自我”
- 'RELIC' 在 (0,0), (1,0), (2,0), (3,0), (4,0)
- (0,2), (1,2), (2,2) 中的“玩具”
- 'TAC' 在 (0,0), (1,1), (2,2)
我的最终输出是 Found_Word={0:[0,2,3], 1:[0,1,2], 2:[0,1,2], 3:[0], 4:[0] }
你能帮助我吗?我希望我很清楚:)
Ps 我可以使用所有基本的 Python 库(包含在 Anaconda Distribution 中),如 numpy、collecitions、itemtools 等。我不能使用全局变量或类。