elif в понимании списка с использованием python условных выражений - PullRequest
0 голосов
/ 03 мая 2020

например

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

Есть ли списки для понимания того же.

Ответы [ 2 ]

1 голос
/ 03 мая 2020

вы можете сделать так

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

0 голосов
/ 03 мая 2020

Удобочитаемость и возможность повторного использования?

Скорее всего, ваш бизнес-лог c нужно будет использовать более чем в одном месте. Почему бы не создать функцию, которая определяет цвет, а затем использовать ее для создания списка?

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']
...