Вы можете попробовать это.
>>> need_placeholder = ['1200', '1300', '1400']
>>> ad_dict = [{"Name": "A", "ID": "1999"}, {"Name": "B", "ID": "1299"},
{"Name": "C", "ID": "1400"}]
>>> keys={d['ID'] for d in ad_dict} # Set of all unique ID values
>>> [key for key in need_placeholder if not key in keys]
# ['1200', '1300']
Вы можете использовать itertools.filterfalse
list(filterfalse(lambda x:x in keys, need_placeholder))
# ['1200', '1300']
Если вас не волнует заказ
set(need_placeholder)-keys
# {'1300', '1200'}
Использование all
>>> for key in need_placeholder:
... if all(key != d['ID'] for d in ad_dict):
... print(f'No key exists for {key}')
...
No key exists for 1200
No key exists for 1300
Использование for-else
>>> for key in need_placeholder:
... for d in ad_dict:
... if key==d['ID']:
... break
... else:
... print(f'No key {key}')
...
No key 1200
No key 1300