在用列表推导替换 for 循环时遇到了代码问题。代码看起来像这样,旨在展开没有符号和数字的文本。您只需要使用枚举更改部分。 编码:
def reverse_word(word) -> Union[int, str]:
word_out = []
specials = {}
for i, char in enumerate(word):
if char.isalpha():
word_out.append(char)
else:
specials[i] = char
word_out = word_out[::-1]
for key, word in specials.items():
word_out.insert(key, word)
return ''.join(word_out)
结果是这样的,但我不明白如何正确解决 i:
[word_out.append(i) if char.isalpha() else specials[i] = i for i in enumerate(word)]