精华内容
下载资源
问答
  • python字典反转的两种方法

    千次阅读 2020-02-22 09:16:20
    def reD(myDict): # 对字典进行反转,利用字典推导 ldict = dict([(v, k) for (k, v) in myDict.items...def reC(myDict): # 对字典反转的第二种方法,使用压缩器 ldict = dict(zip(myDict.values(), myDict.keys...
    def reD(myDict):    # 对字典进行反转,利用字典推导
        ldict = dict([(v, k) for (k, v) in myDict.items()])
        return ldict
    
    def reC(myDict):    # 对字典反转的第二种方法,使用压缩器
        ldict = dict(zip(myDict.values(), myDict.keys()))
        return ldict
    
    展开全文
  • python-反转字典键值对

    千次阅读 2019-01-18 12:18:14
    python-反转字典键值对
    dic = {'a': 1, 'b': 2, 'c': 3, 'd': 1}
    print("original dict : ", dic)
    
    # convert dict
    d1 = dict(zip(dic.values(), dic.keys()))
    print("wrong convert : ", d1)
    
    # traversing to convert
    d2 = dict()
    for k, v in dic.items():
        if v not in d2.keys():
            d2[v] = list(k)
        else:
            d2[v].append(k)
    print("right convert : ", d2)
    

    结果:

    original dict :  {'b': 2, 'a': 1, 'd': 1, 'c': 3}
    wrong convert :  {1: 'd', 2: 'b', 3: 'c'}
    right convert :  {1: ['a', 'd'], 2: ['b'], 3: ['c']}
    
    展开全文
  • I would like to write a function that receives a dictionary as input argument and returns a reverse of the input dictionary where the values of the original dictionary are used as keys for the returne...

    I would like to write a function that receives a dictionary as input argument and returns a reverse of the input dictionary where the values of the original dictionary are used as keys for the returned dictionary and the keys of the original dictionary are used as value for the returned dictionary as explained below:

    dict = {'Accurate': ['exact', 'precise'],

    'exact': ['precise'],

    'astute': ['Smart', 'clever'],

    'smart': ['clever', 'bright', 'talented']}

    to

    dict = {'precise': ['accurate', 'exact'],

    'clever': ['astute', 'smart'],

    'talented': ['smart'],

    'bright': ['smart'],

    'exact': ['accurate'],

    'smart': ['astute']}

    The list of values in the returned dictionary should be sorted in ascending order. Capitalization does not matter. This means that all the words should be converted to lower case letters. For example the word "Accurate" is capitalized in the original dictionary but in the returned dictionary it is written with all lower case letters.

    #My code is:

    from collections import defaultdict

    def reverse_dictionary(input_dict):

    d = defaultdict(list)

    for v,k in input_dict.items():

    d[k].append(v)

    return d

    But it returns this error though:

    Error in evaluating function:

    TypeError at line 6

    unhashable type: 'list'

    解决方案

    You can do it very simply like this:

    newdict = {}

    for key, value in olddict.items():

    for string in value:

    newdict.setdefault(string, []).append(key)

    展开全文
  • 第六周组合数据类型练习:字典反转输出的思考 本人头脑有点轴,今天终于思考出这道题所给的答案的意思,现在复述一遍用以巩固。 字典翻转输出 描述 读入一个字典类型的字符串,反转其中键值对输出。‪‬‪‬‪‬‪‬...

    第六周组合数据类型练习:字典反转输出的思考

    本人头脑有点轴,今天终于思考出这道题所给的答案的意思,现在复述一遍用以巩固。

    字典翻转输出
    描述
    读入一个字典类型的字符串,反转其中键值对输出。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

    即,读入字典key:value模式,输出value:key模式。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

    输入格式
    用户输入的字典格式的字符串,如果输入不正确,提示:输入错误。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

    输出格式‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

    给定字典d,按照print(d)方式输出‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

    输入输出示例
    输入 输出

    {“a”: 1, “b”: 2} {1: ‘a’, 2: ‘b’}

    这道题我是真的一点思路都没有,因为一想就好复杂,因为想到整个反转置换的过程就不赶细想了。
    一遇到困难就不想为难自己,赶紧看看老师给的参考代码。

    s = input()
    try:
        d = eval(s)
        e = {}
        for k in d:
            e[d[k]] = k
        print(e)
    except:
        print("输入错误")
    

    刚开始用input()输入我懂
    用try…except…来进行异常处理我也懂
    d = eval(s)我有点看不懂了,为啥要用eval()我不明白,输入进来格式就是字典格式,怎么还要用eval()
    查了一下,eval()函数用来执行一个字符串表达式,并返回表达式的值。还可以把字符串转化为list、tuple、dict。
    举例如:

    1 字符串转换成列表:
    a="[1,2,3,4,5]"
    b=eval(a)
    a是字符串类型数据,b是列表类型数据

    2 字符串转换成字典 :
    a="{“name”:“guo”,“age”:25}"
    b=eval(a)
    a为字符串类型数据,b为字典类型数据

    3 字符串转换为元组:
    a="(1,2,3,4,5)"
    eval(a)
    a的数据结构是字符串 b的数据结构是元组

    4 eval()返回表达式的值:
    x=4
    eval(“3*x”)
    返回值为12
    x=10
    g={‘a’:4}
    eval{“a+1”,g}
    返回值为 5

    ————————————————
    *版权声明:本文为CSDN博主「菜鸟更要努力呀」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接

    那么现在明白了,用eval()把输入的字符串转变成了字典类型数据并命名为d

    那么接下来的这个遍历操作又让我晕了

    for k in d:
        e[d[k]] = k
    print(e)
    

    什么字典里又有个字典…我头晕
    我拿了张草稿纸,用第一个测试用例:{“a”:1,“b”:2}来试

    d[k]分别是d[‘a’]和d[‘b’],他们的值是1和2
    而e[1]=k中的’k’则是之前的键,现在把之前的键当做值赋给了’1’这个新建的字典e中的键,就形成了新的一个键值对1:‘a’

    遍历结束后,e字典中是这样的{1:‘a’,2:‘b’}
    最后输出e,就ok了

    全部理解了,我发现我对于基础知识还是不够深入理解,例如eval()的用法,和字典的概念及使用都还需要多练习巩固。

    而且这段代码我自己连思路都想不出来,理解还花半天,看来是偷懒了,读代码读少了缺少思维吧。

    现在我用刚才网友给我的另一种思维来试试:

    把输入的键值对分别建立“键列表”和“值列表”,再用遍历方式把“键列表”里的值赋给“值列表”,完成反转。

    s = input()
    d = eval(s)
    try:
        a = list(d.keys())
        b = list(d.values())
        e = {}
        for k in range(len(a)):
            e[b[k]] = a[k]        
        print(e)
    except:
        print('输入错误')
    

    **

    今天的领悟:闲着无事少刷抖音,来这里读读代码吧~

    **

    展开全文
  • 有时候会碰到需求,将字典反转,即:字典中的键作为值,而字典中的值作为键。对于字典比较小,可以使用普通方法 方法一: 使用普通方法转换 >>> d = {'a': 1, 'b': 2, 'c': 3} >>> def invert_dict(d): ... ...
  • 1、字典反转 目的:将相同值的键合并,形成新的键值对 代码示例: def dict_flip(dict_source): """ 反转字典 parameter: dict_source : 字典来源 return: dict_flipped: 反转后的字典 """ dict_...
  • Python字典key和value反转

    千次阅读 2019-10-10 14:52:59
    Python字典中key和value互换 字典中key和value互换克通过简单的循环实现,如下代码所示: # 定义初始字典 dict_pri = {'a':1, 'b':10, 'c': 100} # 字典key和value互换 dict_new = {value:key for key,value in ...
  • https://blog.csdn.net/Jerry_1126/article/details/81158254 转载于:https://www.cnblogs.com/chenpengzi/p/11377294.html
  • python:字典翻转输出

    2021-08-31 11:17:52
    读入一个字典类型的字符串,反转其中键值对输出。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫...
  • python实现字典翻转输出

    千次阅读 2020-05-10 15:51:39
    读入一个字典类型的字符串,反转其中键值对输出。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫...
  • python字典键值对反转方法

    千次阅读 2020-01-02 14:59:27
    字典推导: 等价于: dict={"zhangsan":'12',"lisi":'13',"wangwu":'15'} inverse_dic={} for key,val in dict.items(): inverse_dic[val]=key
  • Python中实现字典反转的方法

    万次阅读 2018-07-22 20:24:22
    有时候会碰到需求,将字典反转,即:字典中的键作为值,而字典中的值作为键。对于字典比较小,可以使用普通方法 方法一: 使用普通方法转换 >>> d = {'a': 1, 'b': 2, 'c': 3} >&...
  • 读入一个字典类型的字符串,反转其中键值对输出。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪...
  • Python字典反转大法 这里我们有一个成绩单 dict1 = {"小明":95, "小红":86, "小刚":84, "小丽":93} 我想要反转它,将它变成*“成绩:姓名”*,我们有以下几种方法行得通 字典解析式 dict2 = {v:k for k,v in ...
  • Python 字典

    2020-04-11 10:34:43
    Python 字典 使用字典Python中,字典是一系列键—值对。每个键都与一个值相关联,你可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。键和值之间用冒号分隔,而键—值对之间用...
  • Python字典

    2016-01-20 15:00:12
    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等其他容器模型。字典由键和值对组成。字典也被称为关联数组或哈希表。 注意: 每个键与值用冒号隔开,每对用逗号分割,整体放在花括号...
  • So, I have a dictionary with almost 100,000 (key, values) pairs and the majority of the keys map to the same values. For example imagine something like that:mydict = {'a': 1, 'c': 2, 'b': 1, 'e': 2, ....
  • 第二种,使用字典推导: >>> m = {'a': 1, 'b': 2, 'c': 3, 'd': 4} >>> m {'d': 4, 'a': 1, 'b': 2, 'c': 3} >>> {v: k for k, v in m.items()} {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
  • python 字典键和值翻转输出代码

    千次阅读 2020-11-04 10:22:12
    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 反转字典 即key和val互换

    千次阅读 2015-09-24 18:53:38
    代码如下:encoding=utf-8print ‘中国’ 反转字典 即key和val互换print ‘—生成器表达式’ dict1={1:2,3:4,6:7,9:10} def invert_dict(d): return dict((v,k) for k,v in d.iteritems()) print invert_dict...
  • 这篇文章主要介绍了Python zip()函数用法,结合实例形式较为详细的分析了Python zip()函数的功能、使用方法及相关操作注意事项。这里介绍python中zip()函数的使用:(推荐学习:Python视频教程)>>> help(zip)Help on...
  • Python对换字典键值对(反转字典

    千次阅读 2020-01-17 12:04:52
    文章目录 问题描述 解决方案 常见 字典嵌套字典 参考文献 问题描述 Python对换字典键值对(反转字典) 解决方案 常见 def swap_dict(d): """对换字典键值对""" return dict(zip(d.values(), d.keys())) d1 = {'a': 1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,254
精华内容 5,701
关键字:

python字典反转输出

python 订阅