Python之三元表达式。

今天看见一个代码很诧异,跟自己理解的执行顺序有一定差异,然后查阅资料发现,自己步入一个误区,在此分享出来,以供参考:

for i in range(l):
	summ +=arr[i] if val>arr[i] else val

其实这就是一个三元表达式:

把 if-else块 写到一行或者一个表达式中 并且产生一个值

我们可以把他拆解:

for i in range(l):
	if val>arr[i]:
		summ +=arr[i]
	else:
		summ +=val

再举个例子:

>>> x = 4
>>> y = 99 if x >= 3 else 999
>>> y
99

就等于:

x = 4
if x >= 3:
	y = 99
else:
	y = 999

你可能感兴趣的:(Python之三元表达式。)