我有以下代码:
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
否则您不能使用条件表达式来切换变量。
