【问题标题】:How to take several items from dictionary [duplicate]如何从字典中获取多个项目[重复]
【发布时间】:2017-09-17 00:07:51
【问题描述】:

字典:

d = {'a':[2,3,4,5],
     'b':[1,2,3,4],
     'c':[5,6,7,8],
     'd':[4,2,7,1]}

我想要d_new,它只包含bc 项目。

d_new = {'b':[1,2,3,4],
         'c':[5,6,7,8]}

我想要一个可扩展的解决方案

编辑

我还需要一种方法来按项目数创建一个新字典:

d_new_from_0_to_2 = {'a':[2,3,4,5],
                     'b':[1,2,3,4]}

【问题讨论】:

  • 而我想让你写一些代码。我想我们今天都会失望的。

标签: python


【解决方案1】:

这是你想要的吗?

new_d = dict(b=d.get('b'), c=d.get('c'))

【讨论】:

  • 我想过,但是如果b不在呢?
  • 但是如果我有 500 件商品并想要其中的 250 件呢
  • 然后运行 ​​for/while 循环和过滤器。
  • 您想要的项目在列表中是已知的?
  • 检查@khelwood 的答案。我相信这正是你想要的
【解决方案2】:

如果您想要一种从字典中选择特定键(及其值)的通用方法,您可以执行以下操作:

d = {'a':[2,3,4,5],
     'b':[1,2,3,4],
     'c':[5,6,7,8],
     'd':[4,2,7,1]}

selected_keys = ['a','b']

new_d = { k: d[k] for k in selected_keys }

给予:

{'a': [2, 3, 4, 5], 'b': [1, 2, 3, 4]}

我认为在 Python 2.6 及更早版本中,您将无法使用字典推导式,因此您必须使用:

new_d = dict((k,d[k]) for k in selected_keys)

【讨论】:

  • 你能看一下编辑吗?
  • @LadenkovVladislav 如果您还有其他问题,请发布新问题。
猜你喜欢
  • 2020-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-22
  • 1970-01-01
  • 1970-01-01
  • 2018-05-13
  • 1970-01-01
相关资源
最近更新 更多