троичного оператора очень полезно, почему он не работает в данном конкретном случае:Python тройная оператора и назначение в еще
c="d"
d={}
d[c]+=1 if c in d else d[c]=1
Это дает:
d[c]+=1 if c in d else d[c]=1
^
SyntaxError: invalid syntax
Я не вижу ничего плохого здесь, поскольку одно и то же без трёхмерного оператора работает:
c="d"
d={}
if c in d:
d[c]+=1
else:
d[c]=1
В этом случае используйте defaultdict. 'from collections import defaultdict; d = defaultdict (int); d [c] + = 1'. – RemcoGerlich
@RemcoGerlich: Зачем имитировать «Counter» с «defaultdict», если вы можете просто использовать «Counter»? – abarnert
@abarnert: Сила привычки? Я всегда помню «defaultdict» первым, потому что он пришел раньше «Counter» и потому, что он более общий. – user2357112