使用python条件语句进行列表理解的elif



例如

for p in list(extracted_data):
if (p >= 80):
print ('orange')
elif(80 > p >= 60):
print ('red')
else:
print('yellow')

有没有同样的列表理解。

你可以这样做

x = [ 'orange' if p>=80 else 'red' if 80>p >=60 else 'yellow' for p in list(extacted_data)]

可读性和可重用性

您的业务逻辑可能需要在多个地方使用。为什么不创建一个确定颜色的函数,然后使用列表理解来创建列表呢?

def colors(x):
retval = 'yellow'
if (x >= 80):
retval = 'orange'
elif(80 > x >= 60):
retval = 'red'
return retval

print([colors(x) for x in extracted_data])

输出

['orange', 'orange', 'red', 'yellow']

最新更新