Все приведенные выше ответы решают вашу проблему, но иллюстрируют, как мне кажется, серьезную проблему с троичными выражениями - они часто приводят к коду, который трудно понять.Вот почему я редко использую их.
Я думаю, что код, который вы написали с помощью операторов if / else, безусловно, является лучшим решением.Я программирую более 40 лет, и, поверьте мне, вы всегда должны отдавать предпочтение написанию кода, который легко понять, по сравнению с кодом, который якобы «элегантен».Это сэкономит вам много времени, особенно когда вы вернетесь к коду после долгого периода времени и забудете, что пытались сделать.