这个条件可以缩短吗?

caa*_*swa 0 python

是否可以仅使用.get()字典中的函数来实现此目的?这是我们能做的最好的事情来缩短这段代码吗?

n_dict是一个Dict类型(大写D)并且NES只是一个列表str

eted_info = {}
for key in n_dict:
    if key in NES:
        eted_info[key] = n_dict[key]
Run Code Online (Sandbox Code Playgroud)

我只是好奇是否有更好/更 Pythonic 的方式来检索值,就像 C# 那样TryGetValue

Bud*_*Bob 5

我认为字典理解和使用n_dict.items()是最干净的方法

n_dict = {'a': 1, 'b': 2, 'c': 3}

NES = ['a', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']

eted_info = {key:value for key,value in n_dict.items() if key in NES}

print(eted_info)
Run Code Online (Sandbox Code Playgroud)

结果

{'a': 1, 'c': 3}
Run Code Online (Sandbox Code Playgroud)