大佬来支招了 5道Python数据分析面试题

Posted 不加班的程序员丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大佬来支招了 5道Python数据分析面试题相关的知识,希望对你有一定的参考价值。

1行代码实现1到100的和?

 

分析:这题考察的是对Python内置函数的了解程度,Python常见的内置函数有。

图片

图片中我框选的是比较常用的一些,你可能见过,这题考察的是sum也就是求和
具体的使用

python一行代码如何实现1~100的和

还要用到第二个内置函数 range()

range(start, stop[, step])

  1. start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);

  2. stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5

  3. step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

解答:

使用Python输出[斐波那契数列]Fibonacci

 

斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”。

例子:1、1、2、3、5、8、13、21、34、……

 

解法1:

100以内的斐波那契数列

解法2:

递归的办法,这个需要数学公式的记忆了

在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)

解法3:

迭代,用递归当数据大的时候,会出现效率问题

经过试验,比迭代速度快很多
time.clock()说明

cpu 的运行机制:cpu是多任务的,例如在多进程的执行过程中,一段时间内会有对各进程被处理。一个进程从从开始到结束其实是在这期间的一些列时间片断上断断续续执行的。所以这就引出了程序执行的cpu时间(该程序单纯在cpu上运行所需时间)和墙上时钟wall time。

time.time()是统计的wall time(即墙上时钟),也就是系统时钟的时间戳(1970纪元后经过的浮点秒数)。所以两次调用的时间差即为系统经过的总时间。

time.clock()是统计cpu时间 的工具,这在统计某一程序或函数的执行速度最为合适。两次调用time.clock()函数的插值即为程序运行的cpu时间。

解法4:
使用列表查看一下速度

 

列出几个python标准库

你先明确的是什么是Python标准库

Python标准库(standard library)。
标准库会随着Python解释器,一起安装在你的电脑中的。它是Python的一个组成部分。
这些标准库是Python为你准备好的利器,可以让编程事半功倍。

 

下面Python代码的运行结果是?

这种题目,考察的是代码默读能力

f(2)

f(3,[3,2,1])

f(3)

这个地方,你需要避免踩坑,一定要注意列表是可变的,如果单独的写没有任何问题,但是函数调用的三行代码放在一起就有点意思了

 

f(3,[3,2,1]) 将l进行了重新赋值。但是第三次调用函数使用的依旧是第一次的l,所以避免踩坑哦~~~~

 

f(3)运行的正确结果是[0,1,0,1,4]

图片

 

Python实现列表去重的方法?

简单直接的办法,集合里面的元素不可以重复

循环判断去重

字典的fromkeys方法实现

需要相关python资料的可以加微信ssmp8858 备注【python】

以上是关于大佬来支招了 5道Python数据分析面试题的主要内容,如果未能解决你的问题,请参考以下文章

不吹不擂,315 道 Python 面试题,欢迎挑战!

不吹不擂,315 道 Python 面试题,欢迎挑战!

各位大佬Python的第一部分道基础题已经整理好了,希望大家面试的时候能用的上。

不吹不擂,315道Python面试题,欢迎挑战!

面试Python工程师,这几道编码题有必要背背,Python面试题No8

撩课-Python-每天5道面试题-第5天