如何在2D列表中搜索单词并创建包含行号,列号和方向的元组?

麦考拉

我有一个随机字母的文件,我将此文件转换为二维列表,我需要一个函数来搜索列表中的任何单词并创建一个元组,其中包含该单词的行号,列号和方向。

word="THIS"
file = open("harf_uzayi.txt", "r")
letter_space=[[str(n) for n in line] for line in file] 
for letter in word:
    for j,sublist in enumerate(letter_space):
        if letter in sublist:

这部分之后我很困惑。你能帮助我吗?

顺便说一下,文件示例是:

IRUZHZKYGUHGCPPJGSTTNUBUYSFUBKKURMGRGPOGVCVPNFICOS
GKRHUYFGNZPGDTFBGSMCUUAJSELULLIUGRATBYYAOEIMJNSMGU
FHDLCFUKOKUNCYDVNLGIIFUMGVMRDINKOYTFDEOGPPVOEDUAGY
IFKZGBDCVTNCUCCETOATSUYUSYUGHLBJOHPOOBOLEPSPMTGBCB
TAEPRGNUOIUBSKBGFCSHZDUVLCIBMFGYKLVMYSZDSMPPAGIDVO
DKZKOMRUİCİGFYTCTPRISPLJILYSGGYYGSBFNPUJCFUCMGMYCF
LAERLKPEIDAPIYFKGCISERRGZPBCKCNBGMCGCVVDGBAFBUVSUG
IOJVKBSCGVNOHCEOGVOPORVEHILOVOIMSBODSISSLASONREUSA
GNEITNCTAJSBMGMGNJTEBUCGAGAGULTBKOJNOZIODLMOIBRTMC
HBETZJUCGRKSZPHVONOSCIOPOOYAUMJOICSYPYSDUOUCRIEKSO
TABUSHSPMAHKBBOIGUDRZLHMUPUGGÜKKIOCTIZNSGZCEÇIOGEC
DUSUINNNCKFUCNOJGNEOCCSGAIMIUEOIEFBUBETOCOODOLUETT

样本输出:

WORD      line number  column number   direction

THIS         4            20            West
Scicyb

您可以使用regex命名捕获组 (?P<name> )交替运算符 |

import re
with open("text.txt") as txt:
    words = "|".join(["SYUB", "TAJ", "THIS", "EDOT"])

    #   lines is a matrix
    lines = txt.readlines()
    pattern = re.compile(f"(?P<e>{words})|(?P<w>{words[::-1]})")
    for i, line in enumerate(lines):
        for word in pattern.finditer(line):
            print(word.group(0), i, word.span()[0], word.lastgroup)

    #   transpose lines and search again
    lines = [''.join(i) for i in zip(*lines)]
    pattern = re.compile(f"(?P<s>{words})|(?P<n>{words[::-1]})")
    for i, line in enumerate(lines):
        for word in pattern.finditer(line):
            print(word.group(0), word.span()[0], i , word.lastgroup)

输出:

BUYS 0 22 w
TAJ  8  7 e
TODE 8 18 n
THIS 3 19 s

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在用 numpy 创建的多维数组中查找特定元素的行号和列号?

如何将文件读入包含行号的元组列表中?

如何从列表或元组列表中删除包含某些单词的列表?

在工作表中搜索值并返回行号和列号

如何在Python中搜索元组列表

如何在搜索中包含多个单词

创建包含列表中单词的列标志

当用户单击jquery中的特定列表时,如何获取行号和列号

如何在 Python 中检索矩阵中与某个值匹配的元素的行号和列号?

从保存在2D列表中的三元组单词构造文本

如何在 Applescript 中给定列号和行号获得 Excel 单元格?

如何在coluum(包含单词的开头)中搜索ole单词?

如何创建允许我使用此数据框创建2d元组列表的函数?

只要单词不是元组列表中的单词,如何创建单词列表

如何在2D数组中搜索最小值和最大值

如果A列包含搜索到的单词,如何在B列中添加/替换值

如何在熊猫列中搜索单词

我想在Python中创建一个包含值和颜色属性的2D列表

如何在包含XML数据的SQL Server的表的列中搜索特定单词

SolverStudio如何在for循环(PuLP)中引用2D列表中的1列

在 Google 表单响应(Google 表格)中搜索行号和列号

如何在二维数组中同时找到行号较高和列号较低的数字的索引

如何确定最大值 包含单元格值的列号和行号

如何在Haskell中创建一个需要单词并从列表列表中搜索它的函数

在2D列表中滑动列和行

包含重复项的列表中返回单词的行号的公式

如何在JAVA中基于稀疏列矩阵参数创建2D数组

如何从2D列表中获取列数和行数

从 Python 中的 2D 列表二进制搜索和返回列表