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')
  • 相关阅读:
    window10使用vagrant+virtualBox搭建centos7
    吾日三思
    搭建EFK过程
    docker端口映射失效解决方法
    centos7防火墙相关命令
    docker学习
    python 读取hive数据
    shell 命令 查看本机ip
    shell 命令 修改hosts文件
    shell 命令 mkdir -p
  • 原文地址:https://www.cnblogs.com/xzpin/p/10965571.html
Copyright © 2011-2022 走看看