• Python----一些面试题


     1.写出以下结果

    print(1<2 and 2==2)
    print(1<2 and 2==1)
    print(1>2 and 2==2)

     结果:

    True
    False
    False

    解:  

    18. xrange和range的区别?

    答案: 这个题的环境应该放在python2.x中,因为python3中将xrange和range合并为了range

      在python2中 range的返回值为list,生成一个序列, xrange则是作为一个生成器.相对来说xrange比range性能优化很多.

      在python3中 range的返回值为range对象 <class 'range'> 

    39.  a = range(10),a[::-3]  的结果是_____.

    答案: range(9, -1, -3) 

    41.将列表内的元素,根据位数合并成字典

    lst = [1,2,4,16,32,64,128,256,512,1024,32679,65536,4294967296]
    
    # 要求输出为
    {
    1: [1, 2, 4], 
    2: [16, 32, 64], 
    3: [128, 256, 512], 
    4: [1024], 
    5: [32679, 65536], 
    6: [4294967296]
    }

    解:

    dic = {}
    for i in range(1,7):
        dic[i] = []
    
    print(dic)
    for el in lst:
        c = 0
        a = el
        while a != 0 and c <= 5:
            a = a // 10
            c += 1
        print(c)
        dic[c].append(el)
    print(dic)

      这个题判断位数时有两种思路,我上面用的是将数字// floor除以10,计算除的次数,次数就是这个数字的位数.另一种思路是将数字转化为str,用len()来计算字符串长度来判断位数,这里就不详细写出第二种方式的解法了

    42.请尽量用简洁的方法将二维数组转换成一维数组

    例:转换前  lst = [[1,2,3],[4,5,6],[7,8,9]] , 转换后  lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]  

    解法:

    lst = [ c for el in lst for c in el]
    print(lst)

    43.将列表按下列规则排序,补全代码 sorted(lst, key=lambda x:__) 

      1.正数在前负数在后

      2.正数从小到大

      3.负数从大到小

      例:

       排序前 [0,4,5,7,-2,-5,-8] 

       排序后  [0,4,5,7,-2,-5,-8] 

    答案: sorted(lst,key=lambda x:(x<0,abs(x))) 

  • 相关阅读:
    tensorflow学习笔记五----------逻辑回归
    tensorflow学习笔记四----------构造线性回归模型
    tensorflow学习笔记三----------基本操作
    tensorflow学习笔记二----------变量
    tensorflow学习笔记一----------tensorflow安装
    大屏某区域滚动效果循环
    echarts轨迹图,各个城市线路图轨迹如何取值
    react组件,样式添加的方法
    微信小程序中hidden属性不生效
    react组件渲染编程html不成功
  • 原文地址:https://www.cnblogs.com/robertx/p/10315940.html
Copyright © 2020-2023  润新知