python面試1000題之1 3

2021-10-03 08:48:26 字數 1135 閱讀 3893

利用切片操作,實現乙個trim()函式,去除字串首尾的空格,注意不要呼叫str的strip()方法.

正解1:

def trim(s):

while s[:1] == ' ':

s = s[1:]

while s[-1:] == ' ':

s = s[:-1]

return s

正解2:

def trim(s):

if s[:1] == ' ':

s = trim(s[1:])

if s[-1:] == ' ':

s = trim(s[:-1])

return s

容易寫錯的方法:

def trim(s):

while s[0] == ' ':

s = s[1:]

while s[-1] == ' ':

s = s[:-1]

return s

解釋:當s=''時,s[0]和s[-1]會報indexerror: string index out of range,但是s[:1])和s[-1:]不會。

2   請設計乙個decorator,它可作用於任何函式上,並列印該函式的執行時間.

# -*- coding: utf-8 -*-

import time, functools

def metric(fn):

@functools.wraps(fn)

time0 = time.time()

ret = fn(*args, **kw)

time1 = time.time()

print('%s executed in %s ms' % (fn.__name__, time1-time0))

return ret

3  裝飾器的實質是什麼?或者說為什麼裝飾器要寫2層巢狀函式,裡層函式完全就已經實現了裝飾的功能為什麼不直接用裡層函式名作為裝飾器名稱?

答:裝飾器是要把原來的函式裝飾成新的函式,並且返回這個函式本身的高階函式

本文首發於python黑洞網,csdn同步跟新

BAT機器學習面試1000題系列(86 90題)

無障礙寫文章 28 人贊同了該文章 86.已知一組資料的協方差矩陣p,下面關於主分量說法錯誤的是 c a 主分量分析的最佳準則是對一組資料進行按一組正交基分解,在只取相同數量分量的條件下,以均方誤差計算截尾誤差最小 b 在經主分量分解後,協方差矩陣成為對角矩陣 c 主分量分析就是k l變換 d 主分...

BAT機器學習面試1000題系列(56 60題)

無障礙寫文章 29 人贊同了該文章 對影象 不同的資料視窗資料 和濾波矩陣 一組固定的權重 因為每個神經元的多個權重固定,所以又可以看做乙個恆定的濾波器filter 做內積 逐個元素相乘再求和 的操作就是所謂的 卷積 操作,也是卷積神經網路的名字 非嚴格意義上來講,下圖中紅框框起來的部分便可以理解為...

軒轅互動面試1題

下午去軒轅互動面試了,可是第一輪就被刷了。沒辦法,沒有那本事。我以前做的乙個演算法的複雜度為nlog n 晚上回來好好想了想,終於想出了乙個o n 的演算法 public class distinctcount while end 0 data end data end 1 start end if...