[本文出自天外歸雲的]
今天乙個朋友去面試,下面是一道測試工程師面試題(來自搜狗):
自己寫了解法:
#寫了解法以後感覺到沒有顯現出python的優勢,找大師兄學了一些pythonic的寫法,比如將乙個列表建立成字典有以下兩種寫法可以一行搞定(初始化每個key的value為0):-*- coding: utf-8 -*-
import
redef
filter_log(target,the_log):
r = '
['+target+']'
target_dic ={}
for one in
target:
target_dic[one] =0
for one in
re.findall(r, the_log):
target_dic[one] += 1
return min(target_dic.items(), key=lambda x: x[1])[1]
if__name__ == '
__main__':
the_log = "
criucexploresgouiuscriudscdriduddds
"target = "
crius
"print filter_log(target,the_log)
#例如min()可以根據key也可以不用,不用key的話語句就會更短一些:target_dic =
#target_dic = dict.fromkeys(list, 0)
import如果測試字串「criucexploresgouiuscriudscdriduddds」自備的話,兩行搞定:re,collections
the_log = "
criucexploresgouiuscriudscdriduddds
"target = "
crius
"print min(collections.counter(re.findall('
['+target+'
]', the_log)).items(), key=lambda x: x[1])[1]
#print min(collections.counter(re.findall('['+target+']', the_log)).values())
import原來還有import內建函式!現在就一行了:re,collections
print min(collections.counter(re.findall('
[crius]
', raw_input("input
:"))).values())
print min(__import__('是不是特別好玩!o(∩_∩)o哈哈哈~collections
').counter(__import__('
re').findall('
[crius]
', raw_input("
input:
"))).values())
一道面試題引發的思考
首先我們給出這道面試題的 以及題目 lista new arraylist list.add 1 list.add 2 for string item list 問 上段 執行會報錯嗎?如果把 1 換成 2 會報錯嗎?為什麼?首先給出答案 上面這段 執行不會報錯。把 1 換成 2 再執行就會報錯。為...
一道面試題引發的思考
好的面試官能夠能好的和面試者互動,而一場好的面試也能帶給面試者更多的思考 面試官給我出題後的 1 分鐘內,我給出了第一種思路 排序。將數字按公升序排序,去除最小的那個數即可。存在問題 時間複雜度高,只考慮了正數的情況。面試官給出了第一次提示時間複雜度過高,要求降低時間複雜度。於是在經過幾分鐘思考後,...
一道面試題引發的pythonic
本文出自天外歸雲的 今天乙個朋友去面試,下面是一道測試工程師面試題 來自搜狗 自己寫了解法 coding utf 8 import redef filter log target,the log r target target dic for one in target target dic one...