You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Python代码以返回矩阵中单词对应字符的首次出现位置

按字符顺序查找矩阵中字符首次出现位置的代码修改方案

你当前代码输出所有匹配位置的核心原因是:找到匹配字符后没有中断遍历,会继续检索完矩阵中所有同字符位置,同时没有按要求拼接输出格式,只需做少量调整即可。

修改后完整代码

import math

letters = "UIPLAIFPEULU"
word = "FLU"

n = math.ceil((math.sqrt(len(letters))))
matrix  = [[char for char in letters[i * n: (i + 1) * n]] for i in range(n)]

# 存储每个字符的首次匹配位置
result = []
for target_char in word:
    find_flag = False
    # 按行优先顺序遍历矩阵,找第一个匹配的字符
    for row in range(len(matrix)):
        if find_flag:
            break
        for col in range(len(matrix[row])):
            if matrix[row][col] == target_char:
                result.append(f"[{row}, {col}]")
                find_flag = True
                break

# 按要求格式拼接输出
print("->".join(result))

核心修改点

  • 新增result列表存储每个字符的首次匹配位置,避免每次找到匹配项就单独打印
  • 新增find_flag标记位,找到当前字符的第一个匹配位置后,直接跳出内层循环,不再检索剩余同字符位置,保证只取首次出现的结果
  • 最后用join方法将结果按->符号拼接,输出符合要求的格式

运行上述代码即可得到预期输出:[1, 2]->[0, 3]->[0, 0]

内容的提问来源于stack exchange,提问作者Anna Khishchenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 05:24:02