我正在尝试通过 Pycharm 调试器调试嵌套的 for 循环......在故障排除过程中,我想将循环分解为两个单独的循环并逐步执行代码,但我很难做到这一点......
这是带有列表理解的代码块:
def letterCasePermutation(S):
res = ['']
for ch in S:
if ch.isalpha():
res = [i + j for i in res for j in [ch.upper(), ch.lower()]]
return res
result = letterCasePermutation("ab")
print(result) # expected result = ['AB', 'Ab', 'aB', 'ab']
为了调试此代码块,我想将列表理解分解为以下内容:
def letterCasePermutation(S):
res = ['']
for ch in S:
if ch.isalpha():
# res = [i + j for i in res for j in [ch.upper(), ch.lower()]]
for i in res:
for j in [ch.upper(), ch.lower()]:
res.append(i + j)
return res
result = letterCasePermutation("ab")
print(result)
上面的块会导致无限循环错误,而不是像代码块 1 那样提供结果。预期结果 = ['AB', 'Ab', 'aB', 'ab']
我无法弄清楚我错过了什么。在花了相当多的时间但仍然被卡住之后,我决定发布这个问题。我在这里先向您的帮助表示感谢。
阿波罗的战车
慕斯王
呼啦一阵风
相关分类