有时候会碰到需求,将字典来反转,即:字典中的键作为值,而字典中的值作为键。对于字典比较小,可以使用普通方法
方法一:
使用普通方法转换
>>> d = {'a': 1, 'b': 2, 'c': 3} >>> def invert_dict(d): ... return dict([(v,k) for (k,v) in d.iteritems()]) ... >>> invert_dict(d) {1: 'a', 2: 'b', 3: 'c'}
方法二:
使用itertools模块中的izip方法来转换
>>> d = {'a': 1, 'b': 2, 'c': 3, 'd': 4} >>> from itertools import izip >>> def invert_dict(d): ... return dict(izip(d.itervalues(), d.iterkeys())) ... >>> invert_dict(d) {1: 'a', 2: 'b', 3: 'c', 4: 'd'} >>>
备注:
1. 字典比较大时,使用itertools模块中的izip方法来转换要高效的多.
2. 反转之前值应该要确保不是列表这样不可hash的值,否则不能反转.
补充知识:python 字典键和值翻转输出代码
我就废话不多说了,大家还是直接看代码吧~
dict=eval(input()) #输入格式:dict = {"a":1,"b":2} dict_new={} try: for k,v in dict.items(): dict_new[v]=k print(dict_new) except: print("输入错误")
以上这篇在Python中实现字典反转案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。
问题内容: 给定这样的字典: 如何将这张地图倒置即可: 问题答案: 对于Python 2.7.x 对于
本文向大家介绍python实现字符串和字典的转换,包括了python实现字符串和字典的转换的使用技巧和注意事项,需要的朋友参考一下 一、把一个字符串的内容提取出来,并放到字典中 流程如下: 1、得到字符串s,通过分割提取得到s1(是个列表) s=”name=lyy&age=3&sex=women&boyfriend=czt” 2、需要再对s1进行拆分,此时s1只有4个元素,对s1进行遍历,拿到类似
问题内容: 我想编写一个函数,该函数接收字典作为输入参数,并返回输入字典的反向函数,其中原始字典的值用作返回字典的键,而原始字典的键用作返回值。返回的字典,如下所述: 至 返回字典中的值列表应按升序排序。大小写无关紧要。这意味着所有单词都应转换为小写字母。例如,单词“准确”在原始词典中大写,但在返回的词典中,它用所有小写字母书写。 但是它返回此错误: 问题答案: 您可以像这样非常简单地进行操作:
问题内容: 我想知道python字典如何在后台运行,尤其是动态方面?创建字典时,其初始大小是多少?如果我们用很多元素更新它,我想我们需要扩大哈希表。我想我们需要重新计算散列函数以适应新的更大的散列表的大小,同时又与先前的散列表保持某种逻辑? 如您所见,我不完全了解此结构的内部。 问题答案: (部分)以下答案来自“ 升级Python技能”:检查字典。有关Python哈希表的更多信息,请参见The H
问题内容: 给定这样的字典: 如何将这张地图倒置即可: 问题答案: Python 3+: Python 2:
问题内容: Python的str对象没有内置的反向函数。实现这种方法的最佳方法是什么? 如果提供一个非常简洁的答案,请详细说明其效率。例如,str对象是否转换为其他对象等。 问题答案: 怎么样: 这是扩展切片语法。它的工作方式是通过保留和并指定步骤来反转字符串。