如何在字符串数组中查找字母的位置

我有一个问题,我需要找到字符串矩阵中字母的位置。输入是:maze1=['*****','* * *','* G**','*D***','* ***']


预期的输出是字母坐标的元组。对于此示例,预期输出为 [(2,2),(3,1)]


到目前为止,这是我的代码,我在检查元素是否为字母时遇到了问题:


    treasure=[]

    for i in range(len(maze)):

        for j in range(len(maze)):

            if maze[i][j].lower().isAlpha():

                treasure[i] = maze[i][j]

    print(treasure)


Qyouu
浏览 169回答 3
3回答

慕姐8265434

In [2]: maze1=['*****','* * *','* G**','*D***','* ***']                                                                                                                                                                                                                                                                 In [3]: [(i,j) for i,s in enumerate(maze1) for j,char in enumerate(s) if char.isalpha()]                                                                                                                                                                                                                                Out[3]: [(2, 2), (3, 1)]

慕标琳琳

使用正则表达式import reresult=[]maze1 =['*****','* * *','* G**','*D***','* ***']for counter, value in enumerate(maze1):    m=re.search('([a-zA-Z]+)',value)    if m :        result.append((counter, m.start()))输出[(2, 2), (3, 1)]

料青山看我应如是

假设你的迷宫有 5 列:[(p//5,p%5) for p,l in enumerate("".join(maze1)) if l.isalpha()]返回:[(2, 2), (3, 1)]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python