精华内容
下载资源
问答
  • 今天小编就为大家分享一篇Python 互换字典键值对实例,具有很好的参考价值,希望大家有所帮助。一起跟随小编过来看看吧
  • 三种方式交换键值对(前提:值唯一): 1. mydict={“a”:1,“b”:2,“c”:3} mydict_new={} for key,val in mydict.items(): mydict_new[val]=key 2. mydict={“a”:1,“b”:2,“c”:3} mydict_new=dict([val,key] ...

    原文作者:https://blog.csdn.net/u010614988/article/details/49337031/
    三种方式交换键值对(前提:值唯一):
    1.
    mydict={“a”:1,“b”:2,“c”:3}
    mydict_new={}
    for key,val in mydict.items():
    mydict_new[val]=key
    2.
    mydict={“a”:1,“b”:2,“c”:3}
    mydict_new=dict([val,key] for key,val in mydict.items())
    3.利用zip运算符:
    mydict={“a”:1,“b”:2,“c”:3}
    mydict_new=dict(zip(mydict.values(),mydict.keys()))

    展开全文
  • Python中交换字典键值对的方法 在学习过程中发现有时候交换字典的键和值,会使得我们最后的输出结果更加直观明了,整理出以下四种交换方式(data是原字典,new_data 是交换后的字典) 一、当值唯一时 1. 使用zip进行...

    Python中交换字典键值对的方法

    在学习过程中发现有时候交换字典的键和值,会使得我们最后的输出结果更加直观明了,整理出以下四种交换方式(data是原字典,new_data 是交换后的字典)

    一、当值唯一时

    1. 使用zip进行交换

    data= {'A':1, 'B':2, 'C':3}
    new_data = dict(zip(data.values(), data.keys()))
    print(new_data)
    # 运行结果
    # {1: 'A', 2: 'B', 3: 'C'}
    

    2. 使用for循环遍历交换

    data= {'A':1, 'B':2, 'C':3}
    new_data = {}
    for key, val in data.items():
        new_data[val] = key
    print(new_data)
    # 运行结果
    # {1: 'A', 2: 'B', 3: 'C'}
    

    3. 使用dict.items()交换

    new_data = dict([val, key] for key, val in data.items())
    print(new_data)
    # 运行结果
    # {1: 'A', 2: 'B', 3: 'C'}
    

    上述三种方式的前提条件是值唯一。如果data = {'A': 1, 'B': 2, 'C': 3, 'D': 3},最后输出结果是{1: 'A', 2: 'B', 3: 'D'},C会被D代替。

    二、当值不唯一时

    如果值不唯一,可以使用下面这种方式,最后输出结果是{1: ['A'], 2: ['B'], 3: ['C', 'D']}

    from collections import defaultdict
    
    
    def main():
        data = {'A': 1, 'B': 2, 'C': 3, 'D': 3}
        new_data = defaultdict(list)
        for key, val in data.items():
            new_data[val].append(key)
        print(new_data)
    # 运行结果
    # {1: ['A'], 2: ['B'], 3: ['C', 'D']}
    

    Python中通过Key访问字典,当Key不存在时,会引发‘KeyError’异常。为避免这种情况的发生,可以使用collections类中的defaultdict()方法来为字典提供默认值。该函数返回一个类似字典的对象。defaultdict是Python内建字典类(dict)的一个子类。

    dict = defaultdict(factory_function)
    # factory_function可以是list、set、str等等,作用是当key不存在时,返回的是工厂函数的默认值
    

    当字典中没有的键第一次出现时,default_factory自动为其返回一个空列表,list.append()会将值添加进新列表;再次遇到相同的键时,list.append()将其值再添加进该列表。

    展开全文
  • python 字典键值互换

    2019-10-28 21:14:48
    关于python字典键值互换,由于可能有多键都对应同一值,故需要用列表存储互换之后字典的值。 def reverse_dic(my_dic): reverse = {} for key in my_dic: value = my_dic[key] if value in reverse: ...

    关于python的字典的键值互换,由于可能有多键都对应同一值,故需要用列表存储互换之后字典的值。

    def reverse_dic(my_dic):
        reverse = {}
        for key in my_dic:
            value = my_dic[key]
            if value in reverse:
                reverse[value].append(key)
            else:
                reverse[value] = [key]#用list存储
        return reverse
    
    dic = {'a': 1, 'v': 1, 's': 2}
    print(reverse_dic(dic))
    
    #dic = {'a': 1, 'v': [1], 's': 2}# 当把测试的例子改成这样的时候会报错,
                                     # 原因是由于字典的key不能是list、dict、set,必须是hashable
    #print(reverse_dic(dic))    
    
    

    关于 TypeError: unhashable type(list/set/dict)详解具体参见这位博主

     

    展开全文
  • python字典键值对互换

    千次阅读 2019-03-12 09:22:00
    # 用遍历互换键值对 d1 = {'a':1,'b':2,'c':3} d2 = {} for key,value in d1.items():  d2[value] = key print(d2) # 用列表生成器 d1 = {'a':1,'b':2,'c':3} d2 = {key:value for v,k in d1.items()} ...

    # 用遍历互换键值对

    d1 = {'a':1,'b':2,'c':3}

    d2 = {}

    for key,value in d1.items():

      d2[value] = key

    print(d2)

     

    # 用列表生成器

    d1 = {'a':1,'b':2,'c':3}

    d2 = {key:value for v,k in d1.items()}

    print(d2)

     

    #用zip运算符

    d1 = {'a':1,'b':2,'c':3}

    d2 = dict(zip(d1.value(),d1.key()))

    print(d2)

     

     

      

    转载于:https://www.cnblogs.com/Little-Raccoon/p/10514551.html

    展开全文
  • Python 字典键值互换 dic = {"A":"a","B":"b","C":"c"} new_dic = {y:x for x,y in dic.items()} print(new_dic)
  • Python对换字典键值对(反转字典)

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

    万次阅读 2018-03-13 19:12:13
    1.zip dic = {'a':1, 'b':2, 'c':3} dic_new = dict(zip(dic.values(), dic.keys())) print(dic_new) # {1: 'a', 2: 'b', 3: 'c'} 2.循环 ...dic = {'a':1, 'b':2, 'c':3} ...for key, val in dic.items()...
  • python实现字典键值对互换的方法

    千次阅读 2018-08-13 01:01:36
    三种方式交换键值对(前提:值唯一): 1. mydict={"a":1,"b":2,"c":3} mydict_new={} for key,val in mydict.items():  mydict_new[val]=key return mydict_new 2. mydict={"...
  • 字典键值互换-Python

    2020-11-02 14:01:12
    a1 = {'a': 1, 'b': 2, 'c': 3, 'd': 4} a2 = {} for i in list(a1.items()): a2[i[1]] = i[0] print(a2)
  • Python键值对

    万次阅读 2019-09-09 16:12:35
    键值对,在python中是字典,在C语言中是结构体 name = {'green':5} print(name['green']) #2.访问键值对 name = {'color':'green','point':5}#是字符串要加引号,是数字不用 space = name['point']#大括号针对整体...
  • students = { '小甲':18, '小乙':20, '小丙':15 } 1、只取字典键值,组成新的列表 b = [ key for key,value in students....2、字典键值对互换,组成新的字典; b = { value:key for key,value in stu...
  • Python中使用字典,格式如下: dict={key1:value1,key2:value2...} 在实际访问字典值时的使用格式如下: dict[key] 多键值 字典的多键值形式如下: dict={(key11,key12):value,(key21,key22):value...}...
  • 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 ...
  • # 编程实现:字典中的键与值进行互换 Dict1={"name":"lsj","age":18,"sex":0,"lover":"lyy"} Dict2={v:k for k,v in Dict1.items()}#键与值互换后的字典 print(Dict1) print(Dict2)
  • 1.1生成器:就是(python)自己用代码写的迭代器,生成器的本质就是迭代器。 1.2生成器函数 def func1(x): x +=1 print(111) yield x print(222) yield 'alex' g_obj = func1(5) # 生成器函数对象 ...
  • 以上这篇Python 互换字典键值对实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。 原文链接:https://blog.csdn.net/qq_25046261/article/details/79544959 !!! ...
  • 在一些实际的问题中我们往往会有这样一个需求:将原始字典中的键、值互换形成新的字典数据,比如:将字母数据的ASCII数值构建字典,然后键、值互换形成新的数据。 具体的实现我常用的有两种办法,第一种方法较为...
  • 键值对互换2. 字典和列表的相互转换 在python中,之前最常用数据类型是list,简单好用。不过挨过一系列的毒打之后,发现字典,集合,装饰器才是更需要解决的问题。 1. 问题原型和答案 小明,小红,小刚是在一家保险...
  • python字典Key与Value值互换

    千次阅读 2019-10-09 16:14:01
    三种方式交换键值对(前提:值唯一): 1. mydict={“a”:1,“b”:2,“c”:3} mydict_new={} for key,val in mydict.items(): mydict_new[val]=key 2. mydict={“a”:1,“b”:2,“c”:3} mydict_new=dict([val,key] ...
  • 可使用字典推导式 ** 例如 n = {1: “a”, 2: “b”} 通过互换键和值使其输出结果改为 {‘a’: 1, ‘b’: 2} 示例代码如下: n = {1: "a", 2: "b"} new = {v: k for k, v in n.items()} print(new) 运行...
  • 字典 { "zx": "中兴", "hw": "华为" } 转化为 { "中兴": "zx", "华为": "hw" } """ test_dict = { "zx...
  • # 第三种方法,利用另一个新字典交换其值后添加到新字典中。 def exchange_key_values3 (my_third_dict): result = {} for key , value in my_third_dict.items():  result[value] = key  ...
  • 前提:key和value值都必须是唯一的 dic = {1: 'x', 2: 'y', 3: 'z'} # 第一种方式: new_dic1 = {} for k, v in dic.items(): new_dic1[v] = k # 第二种方式: new_dic2 = dict((v, k) for k, v in dic.items()...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,316
精华内容 526
关键字:

python字典键值对互换

python 订阅