我有以下代码:

stuart = 0
kevin = 0
for itr, char in enumerate(word_list):
    if char in "aeiou":
        kevin += len(word_list) - itr
    else:
        stuart += len(word_list) - itr


我可以将if / else语句编写为三元运算符吗?

我尝试以下无济于事:

(kevin if (char in "aeiou") else stuart) += len(word_list) - itr




kevin += len(word_list) - itr if char in "aeiou" else stuart += len(word_list) - itr


是否可以将其编写为三元运算符以获取更紧凑的代码?

最佳答案

而是将变量放入字典中,然后可以更改要分配给的键:

names = {'stuart': 0, 'kevin': 0}
for itr, char in enumerate(word_list):
    names['kevin' if char in "aeiou" else 'stuart'] += len(word_list) - itr


否则,您不能使用条件表达式来切换变量。

关于python - 如何将此Python for循环编写为三元运算符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38212118/

10-11 21:07