Вопрос по синтаксису написания в одну строку

p = [1, 3, -5, 6, 7, 8, 94]
l = [k for k in p if k > 0]

Вопрос в следующим: как мне впихнуть сюда elif и else?
И задать при этом дополнительные параметры?

Как то, что ниже, реализовать в одну строку?

k = [1, 3, -5, -6, 7, 8, 94, 0]

o = []
for g in k:
    if g > 0:
        o.append(g)
    elif g < 0:
        o.append('-')
    else:
        o.append('--')

Ответы (1 шт):

Автор решения: Кирилл Малышев
l = [k if k > 0 else '-' if k < 0 else '--' for k in p]
→ Ссылка