zoukankan      html  css  js  c++  java
  • python--面试题01

    |--题目

    写一个函数,将两个dict(key是数字,value是string)进行合并,函数返回合并后的dict。
    规则如下:如果一个key仅仅存在于其中一个dict中,则直接加入合并后的dict;
    如果一个key在两个dict中都存在,那么给定一个choice值,choice可以是任何string,
    如果choice是任一个dict中的value,则写入,否则不写入。

     1 #!/usr/bin/python3
     2 
     3 def function(lefdict,rightdict,choice):
     4     samelist = lefdict.keys() & rightdict.keys() #dict.keys()返回的是一个可迭代对象,取两个dict的keys的交集
     5     diflist = lefdict.keys() ^ rightdict.keys()  #取两个dict的keys的不同集
     6     newdict = {}
     7     for key, value in lefdict.items():
     8         if key in diflist:
     9             newdict[key] = value
    10         elif key in samelist:
    11             if value == choice:
    12                 newdict[key] = value
    13     for key, value in rightdict.items():
    14         if key in diflist:
    15             newdict[key] = value
    16         elif key in samelist:
    17             if value == choice:
    18                 newdict[key] = value
    19     print(samelist, diflist)
    20     print(newdict)
    21     return newdict
    22     
    23 function({1: 'a', 2: 'b', 3: 'c'}, {4: 'f', 2: 'b', 3: 'd'}, 'b')
  • 相关阅读:
    STL整理之map
    链表及数组模拟链表
    树链剖分详解
    Luogu P3879 【[TJOI2010]阅读理解】
    Luogu P2727 【01串 Stringsobits】
    CF1200D 【White Lines】
    Luogu P4945 【最后的战役】
    Luogu P4944 【PION贪吃蛇】
    Luogu P2426 【删数】
    P2163 【[SHOI2007]园丁的烦恼】
  • 原文地址:https://www.cnblogs.com/xzpin/p/10965571.html
Copyright © 2011-2022 走看看