是否可以仅使用.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。
我认为字典理解和使用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)