将列表中的值与字典中的值进行比较

2024-06-16 09:49:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本字典,里面有值的列表和一个列表:

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

也许你知道一个更优雅的解决方案?有什么帮助吗?你知道吗


Tags: inself列表for字典itemsresultdict
1条回答
网友
1楼 · 发布于 2024-06-16 09:49:35

这是一种方法。你知道吗

例如:

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}

相关问题 更多 >