当前位置: 首页 > 面试题库 >

如何与字典中的值交换键?

倪棋
2023-03-14
问题内容

我收到一个字典作为输入,并想返回一个字典,其键将是输入的值,而其值将是对应的输入键。价值观是独一无二的。

例如,说我的输入是:

a = dict()
a['one']=1
a['two']=2

我希望我的输出是:

{1: 'one', 2: 'two'}

为了澄清,我希望我的结果等于以下内容:

res = dict()
res[1] = 'one'
res[2] = 'two'

有什么精巧的Pythonic方式可以做到这一点?


问题答案:

Python 2:

res = dict((v,k) for k,v in a.iteritems())

Python 3(感谢@erik):

res = dict((v,k) for k,v in a.items())


 类似资料:
  • 问题内容: 区别在于,我的值是列表,而不仅仅是单个值。 因此,我想转: 变成: 假设我很高兴自己的价值观是独一无二的。 问题答案: 您可以使用字典理解和方法。

  • 问题内容: 就像是: 此代码引发异常,因为在迭代时更改了字典。 我发现另一本词典只有非常规的解决方案: 谢谢 问题答案: 另一种写法是 在Python3中,这变成

  • 问题内容: 假设我有这样的字典: 有没有一种方法可以切换键和值来获取: 问题答案: my_dict2 = dict((y,x) for x,y in my_dict.iteritems()) 如果您使用的是python 2.7或3.x,则可以改用字典理解: 编辑 如JBernardo的评论所述,对于python 3.x,您需要使用而不是

  • 问题内容: 所以我有一个带有JSON列的SQLAlchemy表: 我尝试使用如下方法更新该列: 但是,那没有用。编辑: 我的意思是,更新没有持久保存到数据库中。 起作用的是: 我怀疑这与“不变性”有关,或者ORM仅注意到直接分配的更改等。有谁知道为什么吗? 问题答案: 是。默认情况下,SQLAlchemy不跟踪属性 内部的 更改。要使其跟踪更改,可以使用扩展名:

  • 问题内容: 我有一本代表书店的字典。键代表书名,值代表当前书的份数。从商店出售书籍时,书籍的份数必须减少。 我已经编写了减少售书数量的代码,但是在更新后打印字典时,我得到的是初始字典,而不是更新的字典。 我想以最简单的方式解决问题。我是否错过了代码中的任何逻辑或任何行? 问题答案: 好吧,您可以仅通过引用键直接从值中减去。我认为这更简单。 在您的情况下:

  • 问题内容: 我有一本Swift字典。我想获得钥匙的价值。密钥方法的对象对我不起作用。如何获得字典键的值? 这是我的字典: 问题答案: 使用下标访问字典键的值。这将返回一个可选: 要么 您还可以枚举所有键和值: 或枚举所有值: