对于 Python 中的数据科学课程,我需要将现有的 if then else 代码更改为单行代码。
当前代码是:
if c[i] == 'fine':
a[i] += 3
elif c[i] == 'check':
a[i] += 1
else:
a[i] += 0
我创建了一段代码(一个行),它应该执行相同的操作,但这会产生“无效语法”错误:
a[i] += 3 if c[i] == 'fine' else (a[i] += 1 if c[i] == 'check' else a[i] += 0)
你能告诉我应该改变什么吗?
您不得在右侧重复
a[i] +=
。
正确的语法是
a[i] += <expression by which you increment a[i]>
。
但是
a[i] +=
不能是表达式的一部分,它是一个语句。
所以:
a[i] += 3 if c[i] == 'fine' else (1 if c[i] == 'check' else 0)