Есть ли причина, по которой этот список работает?
N = 5
d = {0:100, 2:5}
[(dpidx,d[dpidx]) if dpidx in d else (dpidx,dpidx) for dpidx in range(N)]
[(0, 100), (1, 1), (2, 5), (3, 3), (4, 4)]
но этот dict comp не работает? :
{dpidx:d[dpidx] if dpidx in d else dpidx:dpidx for dpidx in range(N)}
{dpidx:d[dpidx] if dpidx in d else dpidx:dpidx for dpidx in range(N)}
^
SyntaxError: invalid syntax
Я ищу:
{0: 100, 1: 1, 2: 5, 3: 3, 4: 4}
Я думал, что мог бы просто использовать dict comp вместо dict (list comp).
Заранее спасибо!