为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Qyouu 2022-06-22 16:30:09
我有一个问题,我需要找到字符串矩阵中字母的位置。输入是: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)
查看完整描述

3 回答

?
慕姐8265434

TA贡献1813条经验 获得超2个赞

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)]


查看完整回答
反对 回复 2022-06-22
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

使用正则表达式


import re

result=[]

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)]


查看完整回答
反对 回复 2022-06-22
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

假设你的迷宫有 5 列:

[(p//5,p%5) for p,l in enumerate("".join(maze1)) if l.isalpha()]

返回:

[(2, 2), (3, 1)]


查看完整回答
反对 回复 2022-06-22
  • 3 回答
  • 0 关注
  • 168 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信