python基础算法面试题下下载_python基础面试题整理---从零开始 每天十题(04)

一、Q:如何用Python来进行查询和替换一个文本字符串?

A:可以使用sub()方法来进行查询和替换,sub方法的格式为:sub(replacement, string[, count=0])

replacement是被替换成的文本

string是需要被替换的文本

count是一个可选参数,指最大被替换的数量,示例:

#!/usr/bin/env python#-*- coding: utf-8 -*-

importre

p= re.compile('(blue|white|red)')print(p.sub('colour', 'blue socks and red shoes'))print(p.sub('colour', 'blue socks and red shoes', count=1))

二、Q:有没有一个工具可以帮助查找python的bug和进行静态的代码分析?

A:PyChecker是一个python代码的静态分析工具,它可以帮助查找python代码的bug, 会对代码的复杂度和格式提出警告

Pylint是另外一个工具可以进行coding standard检查。

三、Q:如何用Python删除一个文件?

A:

#!/usr/bin/env python#-*- coding: utf-8 -*-

importos

my_file= 'D:/text.txt' #文件路径

if os.path.exists(my_file): #如果文件存在

#删除文件,可使用以下两种方法。

os.remove(my_file) #则删除

#os.unlink(my_file)

else:print('no such file:%s' % my_file)

四、Q:Python如何copy一个文件?

A:

#!/usr/bin/env python#-*- coding: utf-8 -*-

from shutil importcopyfile

src= '源文件'dst= '目标文件'copyfile(src, dst)#src:源文件 dst:目标文件

五、Q:python代码得到列表list的交集与差集

A:交集

a = [2, 3, 4, 5]

b= [2, 5, 8]print(list(set(a).intersection(set(b))))

差集

#!/usr/bin/env python#-*- coding: utf-8 -*-

a= [2, 3, 4, 5]

b= [2, 5, 8]print(list(set(a).difference(set(b)))) #a包含,b却不包含的

六、Q:python如何捕获异常

A:

#!/usr/bin/env python#-*- coding: utf-8 -*-

defmain():try:

a= 1

except:print('error')finally:return None

当我们进行try嵌套时,如果try嵌套,那么如果里面的try没有捕获到这个异常,那么外面的try会接收到这个异常,然后进行处理,如果外边的try依然没有捕获到,那么再进行传递。。。如果一个异常是在一个函数中产生的,例如函数A---->函数B---->函数C,而异常是在函数C中产生的,那么如果函数C中没有对这个异常进行处理,那么这个异常会传递到函数B中,如果函数B有异常处理那么就会按照函数B的处理方式进行执行;如果函数B也没有异常处理,那么这个异常会继续传递,以此类推。。。如果所有的函数都没有处理,那么此时就会进行异常的默认处理,即通常见到的那样

七、Q:假设有如下两个 list:a = ['a', 'b', 'c', 'd', 'e'],b = [1, 2, 3, 4, 5],将 a 中的元素作为 key,b 中元素作为 value,将 a,b 合并为字典。

A:

#!/usr/bin/env python#-*- coding: utf-8 -*-

defmain():

a= ['a', 'b', 'c', 'd', 'e']

b= [1, 2, 3, 4, 5]

dic= dict(map(lambdax, y: [x, y], a, b))print(dic)for k, v indic.items():print(k)print(v)

main()

八、Q:[1,2,3]+[4,5,6]的结果是多少?

A:[1,2,3,4,5,6],和extend结果一样,extend不会建立新的对象,也就不会占用新的内存,而选择+来拼接会产品新的内存空间。

九、Q:编写一个代码,用于计算文件中的所有大写字母。

A:

#!/usr/bin/env python#-*- coding: utf-8 -*-

importredefmain(str):

len_capital= len(re.compile(r'[A-Z]').findall(str))print('大写字母有%s个' %len_capital)

str= "ABCaaaaABaCaaaABC"main(str)

十、Q:如果li是[4,6,8,1,0,3],li[-1]会是什么?

A:会返回3,也就是返回从后往前数,第一位,同理li[-2]会返回0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值