10道Python題,快來看看你的基礎怎麼樣?

七月線上實驗室發表於2018-06-28

為方便大家及時檢視和學習AI相關課程的筆試和麵試題目,小七會在公眾號上陸續釋出七月線上官網的題庫試題帶解析,歡迎大家及時溝通學習,有紕漏的地方也請大家及時指正,我們會逐漸完善題庫資訊,給大家提供更多更好的試題資源(AI筆試面試題庫-Python題目解析2)。


官網連結:

https://www.julyedu.com/question/big/kp_id/28/ques_id/928

1、什麼是lambda函式?它有什麼好處?

解析:

lambda 表示式,通常是在需要一個函式,但是又
不想費神去命名一個函式的場合下使用,也就是
指匿名函式lambda函式:首要用途是指點短小的
回撥函式 lambda [arguments]:expression >>> a=lambdax,y:x+y >>> a(3,11)


2、Python裡面如何實現tuple和list的轉換?

解析:

直接使用tuple和list函式就行了,type()
可以判斷物件的型別


3、請寫出一段Python程式碼實現刪除一個
list裡面的重複元素

解析:

1,使用set函式,set(list)
2,使用字典函式,
>>>a=[1,2,4,2,4,5,6,5,7,8,9,0]
>>> b={}
>>>b=b.fromkeys(a)
>>>c=list(b.keys())
>>> c


4、Python裡面如何拷貝一個物件?(賦值,
淺拷貝,深拷貝的區別)

解析:

賦值(=),就是建立了物件的一個新的引用,
修改其中任意一個變數都會影響到另一個。 淺拷貝:建立一個新的物件,但它包含的是對
原始物件中包含項的引用(如果用引用的方式
修改其中一個物件,另外一個也會修改改變)
{1,完全切片方法;2,工廠函式,如list();
3,copy模組的copy()函式} 深拷貝:建立一個新的物件,並且遞迴的複製
它所包含的物件(修改其中一個,另外一個不
會改變){copy模組的deep.deepcopy()函式}


5、輸入一個字串返回滿足以下條件的字
符串
找出與字串的第一個字母相同的字
母,把它們替換成 '*',除了第一個字母
本身以外例如: 輸入'babble', 返回
'ba**le'

解析:

s=input('input:')

for i in range(1,len(s)):
    print(i)
    if s[0]==s[i]:
        s=s[:i]+'*'+s[i+1:]
print(s)


6、- 輸入一個字串 返回滿足以下條件的
字串 - 由字串的最前面兩個字母和最後兩個
字母組成的字串。 - 例如: 'spring' 返回 'spng',
'is' 返回 'is’ - 當輸入的字串長度小於2時,返回
空字串

解析:

s=input('input:')
l=len(s)
if l<2:
    print('')
else :
    if l>3:
        s=s[:2]+s[-2:]
    print(s)


7、- 輸入一個字串,把字串拆分成兩
   個等分 - 如果字串長度是偶數,前一半和後
  一半的長度是相同的 - 如果字串長度是奇數,則多出的一
  個字元加到前一半,
如:'abcde',前一半是'abc',後一半
是'de'

解析:

s=input('input:')
l=len(s)
m=l//2
if l%2>0:m+=1
print(s[:m],s[m:])


8、- 判斷是否為迴文
 - 提示:迴文:62426是迴文數字

解析:

s=input('pls input a string of 
numbes:') s_=s[::-1] answer='isn\'t' if s_==s:    answer='is' print(s,answer,'Palindrome number')


9、- 求兩個數字之間的素數
 - 素數:只能被1及自己整除的數,
如3,7,13,23等

解析:

for i in range(6,33+1):
    for j in range(2,i+1):
        if i%j==0 and j


10、Python是如何進行記憶體管理的?

解析:

從三個方面來說,一物件的引用計數機制,二垃圾
回收機制,三記憶體池機制 (一)物件的引用計數機制 Python內部使用引用計數,來保持追蹤記憶體中的
物件,所有物件都有引用計數。 引用計數增加的情況: (1)一個物件分配一個新名稱 (2)將其放入一個容器中(如列表、元組或字典) 引用計數減少的情況: (1)使用del語句對物件別名顯示的銷燬 (2)引用超出作用域或被重新賦值 sys.getrefcount( )函式可以獲得物件的當前
引用計數多數情況下,引用計數比你猜測得要
大得多。對於不可變資料(如數字和字串)
,直譯器會在程式的不同部分共享記憶體,以便
節約記憶體。 (二)垃圾回收 (1)當一個物件的引用計數歸零時,它將被垃圾
   收集機制處理掉。 (2)當兩個物件a和b相互引用時,del語句可以
   減少a和b的引用計數,並銷燬用於引用底層
   物件的名稱。然而由於每個物件都包含一個
   對其他物件的應用,因此引用計數不會歸零
   ,物件也不會銷燬。(從而導致記憶體洩露)。
   為解決這一問題,直譯器會定期執行一個循
   環檢測器,搜尋不可訪問物件的迴圈並刪除
   它們。

(三)記憶體池機制
Python提供了對記憶體的垃圾收集機制,但是它
將不用的記憶體放到記憶體池而不是返回給操作系
統。 1,Pymalloc機制。為了加速Python的執行效率
,Python引入
了一個記憶體池機制,用於管理對小塊記憶體的申
請和釋放。 2,Python中所有小於256個位元組的物件都使用
pymalloc實現的分配器,而大的物件則使用系
統的malloc。 3,對於Python物件,如整數,浮點數和List,
都有其獨立的私有記憶體池,物件間不共享他們
的記憶體池。也就是說如果你分配又釋放了大量
的整數,用於快取這些整數的記憶體就不能再分
配給浮點數。

640?wx_fmt=gif

為了讓大家順利轉行AI相關崗位,七月線上特意推出機器學習集訓營課程,迄今為止,「機器學習集訓營」已經舉辦了四期,每一期都湧現出了不少優秀offer,特別是上一期很多同學從Java、Android、iOS等傳統IT行業成功轉崗AI拿到年薪三四十萬,部分甚至超過四十萬拿到五十萬。


本第五期,在第四期的基礎上,除了繼續維持“入學測評、直播答疑、佈置作業、階段考試、畢業考核、一對一批改、線上線下結合、CPU&GPU雙雲平臺、面試輔導、就業推薦”十位一體的教學模式,本期特地推出機器學習工程師的聯合認證。且線下在北京、上海、深圳、廣州、杭州、瀋陽、濟南、鄭州、成都的基礎上,新增武漢、西安兩個線下點,十一城同步開營。


現推出特惠價格,2人及2人以上組團報名,可各減500元想組團者請加微信客服:julyedukefu_02。課程詳情可點選 閱讀原文。


掃碼加客服微信

640?wx_fmt=jpeg

640?wx_fmt=gif

640?wx_fmt=jpeg

相關文章