我有一个字典,其中包含值列表和列表:
dict={'first':45, 'second':30, 'third':56}
list= [30,45]
我想将字典中的值与列表进行比较,然后将匹配项添加到新字典中,然后从旧字典中删除新字典中的所有值:我正在执行以下操作:
def get_sessions(self, talks):
result_sessions = {}
for k, v in self.sessions.items():
for i in talks:
if v == i:
result_sessions[k] = v
for k, v in result_sessions.items():
del self.sessions[k]
return result_sessions
也许您知道一个更优雅的解决方案?有帮助吗?
答案 0 :(得分:0)
这是一种方法。
例如:
d ={'first':45, 'second':30, 'third':56}
lst = [30,45]
result_sessions = {k: v for k, v in d.items() if v in lst}
d = { k : d[k] for k in set(d) - set(result_sessions) }
print(result_sessions)
print(d)
输出:
{'second': 30, 'first': 45}
{'third': 56}