今天我们也来说下python的7个案例。重点是这些案例反映的思维,在我看来,代码也是思维的一种良好体现

我记得上大学C语言的时候,有个题目是a,b两变量的数据交换。当是我给出的答案是

a,b=b,a,结果惨被打脸。就大部分编程语言而言,这样一个小小的需求,基本上都要通过中间变量去实现。而对于python,a,b=b,a这种写法就已经满足。其实随着学python的深入,会发现这门语言跟人的直觉思考方式非常相似。不信我们来看7个案例

1、计算1+2+…+100的和

普通实现:for循环累计,至少3行代码

Python实现:print(sum(range(1,101)))

解析:

sum函数在无参时,不管内部是什么都是全部相加(range返回的并不是列表,而是自身的对象,这都不重要),所以用一行代码就可以实现。

比如print(sum([1,2],[3,4])),返回值会是10。有没有发现,这种实现方式跟你大脑里面的初步逻辑:1,2,…100先罗列出来,然后直接相加就行了很像。这个过程中不需要用到循环,没学过编程的人也不可能想到循环

2、输入列表[1,2,3,4,5],希望能实现输出是[1,4,9,16,25]

普通实现:先定义一个函数实现平方功能,再for循环调用,至少5行代码

Python实现:

print(list(map(lambdax:x**2,[1,2,3,4,5])))

解析:将平方函数一次性映射与每一个元素,是不是很符合函数的本质,高中的时候,我们学过,函数即直接映射,我们压根不用关心该函数的名称,只需要知道功能就行,是不是很简单粗暴有效。所以python强大就强大在这些地方:各种函数库,你要做的就是搬过来

3、列表[[1,2,3],[4,5,6],[7,8,9]]所有子集展开,输出为[1,2,3,4,5,6,7,8,9]

普通实现:通过索引来实现

Python实现:

print([ jfor i in [[1,2,3],[4,5,6],[7,8,9]] for j in i ])

解析:一层一层分解,先把第一层取出来,看有哪些元素,在此基础上重复操作一次,压根不需要索引。作为分析师,学会对问题进行识别,然后用一些生活中的方法论去解决尤为重要。最怕的就是问题还没想清楚,就直接用户分群聚类(这种情况我见到太多,不想当面吐槽),兄弟,赶紧去面壁

4、x="abc",y="def",z=["d","e","f"],分别求出x.join(y)和x.join(z)返回的结果

解析:

两者的返回值是一样的,都是dabceabcf,join函数能够将列表、元组、字符串中的元素直接进行拼凑,非常好用和人性化。我想到了我第一款正式数据分析软件是SAS,那个时候经常为各种文件格式、变量格式头疼不已,光sas导入文件可能就有各种bug,非常头疼,但还是用了好几年。我们在工作的过程中,往往会形成一种惯性:明明某个业务很有问题,但总是有借口去选择不解决;明明发现自己的分析思路不太体系化,只要能满足当前需要,就选择忽视它。对于分析师产品运营,一直在做业务的优化优化,但如果你自身都没有优化好,你怎么能把工作做的更好。

5、打印出杨辉三角前十行

程序及答案:

解析:

该案例本身的问题非常清晰,难就难在问题的拆解阶段:怎么样去简洁实现杨辉三角。这里用到了两个基础但很混淆知识点,1是列表的+操作是添加,map函数是对列表的每个元素进行操作,而不是列表整体。可以看出,要想进行良好的问题拆解,必须要有扎实的基本功。最近有一位同学遇到一个问题:注册购买率同比下降,而他在看分子分母各自的影响值,这就暴露出问题的拆解阶段需要加强。所以当遇到一个明确的业务问题而无从下手时,就已经说明你对业务的理解要加深:体验产品入手,然后看指标体系,再去和业务沟通。

6、计算2+22+222+2…2222,多少个2由输入控制

解析:

该问题肯定是用循环来解决,难点就是在于怎么样去有效的累积每一个因子。

这里利用小小的字符串相加就很好的实现了每一次的拼接。所以不要小看任何一个知识点。在数据分析中,数据异常是最考验分析师的零散知识点理解深入度。比如趋势异常:你看的是多久趋势,能不能这样环比同比,真的是异常吗。很多时候不是问题多复杂,而是思维固化。最近我也在和很多研发同学聊一些数据异常,他们的反馈是:数据分析师这个思维力太强了,能够打的很开,很快定位到问题

7. 企业发放的奖金根据利润提成。

利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

解析:

按照一般的编程逻辑,肯定是通过if elif来分段实现,这是最好理解和最通俗的做法。不过:作为一名分析师,我们的代码、ppt、excel、专题报告还是要有专业度的,所以既要能实现需求,还要能满足审美要求。

这里通过增加辅助列表来实现。实际上,借助额外辅助这种思维非常非常常见。上次文案中的图表制作,就用到了很多辅助线。我们高中做立体几何的时候经常画各种虚拟线,也是这种思想。所以无论你的职位是什么,思维都是想通的,也是需要训练的

好的,今天对python的初步讲解就到这里。顺便提下:上面的代码如果你不太理解,那就先记住他,任何一门学科都是需要记忆力的,而这个也是可以训练的。

python与数据思维基础_7个python案例中的数据思维相关推荐

  1. 零基础学python 视频_零基础入门学习PYTHON(第2版)(微课视频版)

    小甲鱼畅销图书重磅升级,针对Python 3.7,通过生动的实例,让读者在实践中理解概念,在轻松.愉快中学会Python! 本书提倡理解为主,应用为王.因此,只要有可能,小甲鱼(注:作者)都会通过生动 ...

  2. 【计算机网络】数据通信技术基础(数据通信性能指标、传输介质、数据交换技术、差错控制技术)

    数据通信技术基础 数据通信的基本概念 信息.数据和信号 数据通信系统 数据通信系统的性能指标 数据传输速率(传码速率.传信速率) [例]求传码速率和传信速率 信道带宽(模拟信道.数字信道).误码率 [ ...

  3. 如何零基础学习python语言_零基础如何入门Python语言?有哪些学习建议?

    众所周知,Python目前是最受欢迎的编程语言之一,尤其是对于零基础的初学者来说,Python语言更是十分的友好.因此,不少初学者常常会有这样一个共同的疑惑,零基础如何入门Python语言?本文就来给 ...

  4. 零基础学python语言_零基础如何入门Python语言?有哪些学习建议?

    众所周知,Python目前是最受欢迎的编程语言之一,尤其是对于零基础的初学者来说,Python语言更是十分的友好.因此,不少初学者常常会有这样一个共同的疑惑,零基础如何入门Python语言?本文就来给 ...

  5. 0基础学python难吗-零基础入门学习Python技术难不难?

    原标题:零基础入门学习Python技术难不难? 近几年对python人才爆发式需求,导致很多人转行进入python开发行业,现如今Python这门语言的就业前景会非常好.相对于其他来说,它语法简单易读 ...

  6. python语言自学-零基础小白学习Python编程语言的正确姿势(纯干货)

    原标题:零基础小白学习Python编程语言的正确姿势(纯干货) 敢问有哪种编程语言集简洁.优雅.简单.全能于一身?Python绝对算的上是一个.举个例子,比如完成同一个任务,C语言需要写1000行代码 ...

  7. 从小白到精通python要多久-零基础如何学Python?小白学Python需要多久?

    目前市场上对于Python开发人才的需求与日递增,所以很多人都会选择去学Python.那如果是零基础又该如何学Python呢?小白学Python需要多久呢?下面,小编就与大家来看一下! 零基础的新手应 ...

  8. 零基础学python难吗-零基础入门学习Python技术难不难?

    原标题:零基础入门学习Python技术难不难? 近几年对python人才爆发式需求,导致很多人转行进入python开发行业,现如今Python这门语言的就业前景会非常好.相对于其他来说,它语法简单易读 ...

  9. 零基础学python pdf-Python pdf(零基础入门学习Python)V1.0 最新版

    Python pdf(零基础入门学习Python)是一款功能强劲专业实用的Python电子书籍.想要零基础入门学习Python?那就快试试绿色先锋小编推荐的Python pdf最新版下载使用.由作者小 ...

  10. 零基础学python全彩版-零基础轻松学Python:青少年趣味编程(全彩版)

    前言 如何获取学习资源 第1章 初识Python 001 孩子为什么要学编程11 002 为什么要学Python12 003 下载Python安装包12 004 安装Python14 005 配置编程 ...

最新文章

  1. java继承 映射_hibernate继承关系映射和java反射机制的运用
  2. JAVA顺序表的简单实现
  3. numeric column can contains null
  4. mysql 多行拼接注入_MySQL注入汇总
  5. 【H.264/AVC视频编解码技术】第三章【熵编码】
  6. initramfs 工作原理
  7. 秒懂文件路径 / 和 ./ 和 ../ 和 ../../
  8. 华为p40为何没有搭载鸿蒙系统?
  9. 希尔密码(加密、解密、破解)
  10. 显卡识别为Microsoft基本显示适配器,安装9700k核芯显卡HD630驱动或安装其他核显驱动
  11. 消防工程师 10.1 火灾自动报警系统-组成和工作原理
  12. Uncaught TypeError: Illegal invocation
  13. class path resource [springMVC-servlet.xml] cannot be opened because it does not exist
  14. TCR历史研究夏校申请详解
  15. 菜鸡哈屠教你合并果子
  16. 香港 - 寻找轻鬆攻略游(蒲台岛)
  17. 如何为Win10开启DoH(DNS over HTTPS)
  18. 《电子元器件的可靠性》——2.4节电子元器件的失效规律
  19. IoTHub | 云到设备通信指南
  20. joomla QQ登录,微信登录,微博登陆,人人登陆,明道登录的第三方登录

热门文章

  1. 【爬虫学习笔记day44】5.2. (scrapy案例二)阳光热线问政平台爬虫
  2. Libgdx之Table 表格排版
  3. 微信线下门店二维码扫码支付和退款
  4. Linux 中的压缩命令
  5. 如何申请CSDN博客?
  6. SAI颈部正面的画法
  7. 做LeetCode题的感悟 (1-10题)
  8. IDEA各种颜色代表什么
  9. keil5实现51单片机和stm32同时编辑
  10. 51视频编辑压缩官网