このforループを1行のコードで単純化できますか?

-2
2022.01.14
my_dict = {'a':'1', 'b':2, 'c':3}
my_list = ['a','b','d']
            
for element in my_list:
  if element not in my_dict:
     my_dict[element] =1

この for ループは Python の 1 行コードに置き換えることができますか?私はそれを行うためにディクストやリストの理解を使用することはできません。

回答
6
2022.01.14

update()にディクティットを渡すことができます。

my_dict = {'a':'1', 'b':2, 'c':3}
my_list = ['a','b','d']
            
my_dict.update({k:1 for k in my_list if k not in my_dict })

my_dict
# {'a': '1', 'b': 2, 'c': 3, 'd': 1}