【问题标题】:How to use the dictionary function? [duplicate]如何使用字典功能? [复制]
【发布时间】:2013-03-26 01:11:24
【问题描述】:

我有字典

d = {'a':3, 'b':7, 'c':8}

我想知道如何反转字典的顺序以使其看起来像这样:

d = {3:'a', 7:'b', 8:'c'}

我想这样做,而不仅仅是这样写。 有没有办法我可以使用第一个字典来获得新的结果?

【问题讨论】:

  • 不是排序。只是颠倒键和值。一开始我也误会了
  • dict 不应用作变量
  • 不要使用dict作为变量名,python内置字典类已经调用dict
  • 我改变了它,你可以在下面看到内置的dict已经被使用,这是我们试图避免的干扰类型
  • 在 python 3.6+ 中可以开箱即用

标签: python dictionary


【解决方案1】:

是的。您可以在字典上调用items 以获取(键,值)对的列表。然后你可以反转元组并将新列表传递给dict

transposed = dict((value, key) for (key, value) in my_dict.items())

Python 2.7 和 3.x 也有字典解析,这使它更好:

transposed = {value: key for (key, value) in my_dict.items()}

【讨论】:

  • dict comps 存在于 2.7+,而不仅仅是 3.x
【解决方案2】:
transposed = dict(zip(d.values(), d))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-21
    相关资源
    最近更新 更多