【问题标题】:compare values from a list with values from a dictionary将列表中的值与字典中的值进行比较
【发布时间】:2019-01-07 19:46:29
【问题描述】:

我有一个包含值列表和列表的字典:

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

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

【问题讨论】:

  • 那么当前的方法是否为您提供了所需的输出?是关于优化的问题吗?
  • 你能添加预期的输出吗?
  • 看起来你想要一些基于此的东西:stackoverflow.com/questions/2568673/…

标签: python python-3.x


【解决方案1】:

这是一种方法。

例如:

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}

【讨论】:

    猜你喜欢
    • 2019-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多