Skip to main content
 首页 » 编程设计

python之如何将此 Python for 循环编写为三元运算符

2025年05月04日10softidea

我有以下代码:

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 

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