Python面试题

之前同事问了一道Python题目如下,暂时归类为面试题

题目:把类似'123.456'的字符串转换成浮点型数据

  • 方法一:


    >>> print '{:.3f}'.format(float('123.456'))
    >>> 123.456
  • 方法二:指定mapreduce高阶函数

    思路:先处理小数点,然后在整数位、小数位相加。步骤如下

    s = '123.456'

  1. 处理小数:使用字符串切片方式。

    s.split('.')

    这样就得到长度为2的数组['123', '456']

  2. 处理list中的第一个元素(整数列)。使用迭代的方式得到整数123

     def map_int(s):
    '''
    @see: 迭代时把字符串转换成int类型
    '''
    return int(s)

    然后使用高阶函数map(func, seq)对list中的字符串迭代:得到[1, 2, 3]

     map(map_int, s.split('.')[0])
  3. 使用高阶函数reduce(func, seq),对map()后的数据累积得到123

     reduce(lambda x,y : x*10 + y, map(map_int, s.split('.')[0]))

    同样的方法处理小数位

     reduce(lambda x,y : x*0.1 + y, map(map_int, s.split('.')[1][::-1])) * 0.1
  • 整个代码块如下:或者直接把map_int()函数替换为:lambda x:int(x)

      def map_int(s):
    '''
    @see: 迭代时把字符串转换成int类型
    '''
    return int(s)
    reduce(lambda x,y : x*10 + y, map(map_int, s.split('.')[0])) + reduce(lambda x,y : x*0.1 + y, map(map_int, s.split('.')[1][::-1])) * 0.1

generated by haroopad

之前同事问到的一道python题目的更多相关文章

  1. 一道算法题目, 二行代码, Binary Tree

    June 8, 2015 我最喜欢的一道算法题目, 二行代码. 编程序需要很强的逻辑思维, 多问几个为什么, 可不可以简化.想一想, 二行代码, 五分钟就可以搞定; 2015年网上大家热议的 Home ...

  2. 一道Python面试题

    无意间,看到这么一道Python面试题:以下代码将输出什么? def testFun():    temp = [lambda x : i*x for i in range(4)]    return ...

  3. Binary Search Tree 以及一道 LeetCode 题目

    一道LeetCode题目 今天刷一道LeetCode的题目,要求是这样的: Given a binary search tree and the lowest and highest boundari ...

  4. 一道python面试题引发的血案

    这里说的是一道阿里校招的面试题:一行代码实现对列表a中的偶数位置的元素进行加3后求和? 今天去面试同样遇到了这个题目,这道题考察的是对python高阶函数map/filter的灵活运用(具体的使用方法 ...

  5. 搜狗一道java题目 关于对象 synchronized 关键字作用在 int, integer

      第一次见到这个题目,我觉得自己没学到java,太浅了,其实这个问题没有考synchronized关键字,只是考什么是对象? 1.在java编程思想的第二章有一句话; 一切都是对象,很可惜int,c ...

  6. Python题目练习(二)

    1.如何实现对python列表去重,并保持原来顺序 li = [1,2,5,3,1,6,3,8,0,3,2,4] l = [] for i in li: if i not in l: l.append ...

  7. 阿里巴巴Web前端面试的一道JS题目,求解答!!!

    题目大概是这种: function outer(){ return inner; var inner = "a"; function inner(){}; inner = 9; } ...

  8. python -- 题目不看别人的自己写然后比较

    题目一 ''' 编写Python脚本,分析xx.log文件,按域名统计访问次数倒序输出 xx.log文件内容如下: https://www.sogo.com/ale.html https://www. ...

  9. 高级测试工程师面试必问面试基础整理——python基础(一)(首发公众号:子安之路)

    现在深圳市场行情,高级测试工程师因为都需要对编程语言有较高的要求,但是大部分又没有python笔试机试题,所以面试必问python基础,这里我整理一下python基本概念,陆续收集到面试中python ...

随机推荐

  1. ue4加载界面(loadingscreen)的实现

    即使开放世界已然成为现今游戏趋势,切换关卡过程中的读条仍是很难避免的,譬如进入房屋.传送到其他世界等等. 于是就引入了loadingscreen这一需求. loadingscreen顾名思义就是加载过 ...

  2. python+NLTK 自然语言学习处理二:文本

    在前面讲nltk安装的时候,我们下载了很多的文本.总共有9个文本.那么如何找到这些文本呢: text1: Moby Dick by Herman Melville 1851 text2: Sense ...

  3. unity3d项目导入android studio

    第一步 拿到unity3d项目,里面包含以下文件 第二步 在android studio下新建一个project 第三步 将unity3d项目目录下的libs下的jar文件复制黏贴到android s ...

  4. eclipse快捷键 自己使用简单总结

    ctrl+shift+O 清理代码引用的多余类 ctrl+shift+R 打开指定文件

  5. JSON总结-持续更新补充

    基本的json格式 { "name": "jobs", "boolean": true, "age": null, &q ...

  6. 【Android Developers Training】 23. 序言:保存数据

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  7. PHP实现简单的评论与回复功能还有删除信息

    我们首先先看一下功能 上面黑色的是评论的下面红色的字体是回复的 再来看看怎么实现的 1.发布评论 <form action="pinglunchili.php" method ...

  8. iOS中UIWebView执行JS代码(UIWebView)

    iOS中UIWebView执行JS代码(UIWebView) 有时候iOS开发过程中使用 UIWebView 经常需要加载网页,但是网页中有很多明显的标记让人一眼就能看出来是加载的网页,而我们又不想被 ...

  9. Linux10分钟入门

    最近打算考红帽认证,将自己学习到的和工作中常用的一些命令进行总结,供初学者和一定基础的参考. 想系统性学习的话,还是建议看书(鸟哥的Linux私房菜)和看视频(基础版,推荐马哥和老男孩,不推荐**** ...

  10. SQLite的总结与在C#的使用

    这几天接触了一下SQLite,算是有点收获吧,因此总结一下. SQLite简介: SQLite是用C语言编写的数据库引擎,可以运行在Linux.Windows.Mac平台上. SQLite安装简单,下 ...