У меня есть следующий список:
z = [
[7,None],
[9,None],
[None,7],
[None, 15],
[None, None],
[2,None],
[0,None]]
.. и я хотел получить список, который вернет целое число в элементе, если оно есть, даже если он равен 0, и вернет 1 для элементагде оба подэлемента равны None
.
Я дошел до этого:
[a or b if (a!=0 and b!=0) else 0 if set([a,b])=={0,None} else 1 if set([a,b])=={None} else -10 for a,b in z]
.., который почти работает, он возвращает:
[7, 9, 7, 15, None, 2, 0]
Такему не удалось превратить элемент [None, None]
в 1. Кто-нибудь знает, как это исправить?
Бит else -10
как раз здесь, так как я считаю, что составление списка, написанное так, должно заканчиваться else
если вы пропустите это, вы получите SyntaxError