雖然明天就是中秋節(jié)了,而我依然在電腦面前碼字,寫總結(jié)。多寫一些,你們中秋就多學(xué)一點,哈哈哈!Python面試題又來咯!找工作的你,還不趕緊看。 一 .反轉(zhuǎn)一個整數(shù),例如-123 --> -321 class Solution(object): 二 .設(shè)計實現(xiàn)遍歷目錄與子目錄,抓取.pyc文件? 第一種方法: import os 第二種方法: import os 第三種方法 from glob import iglob 三 .Python-遍歷列表時刪除元素的正確做法 遍歷在新在列表操作,刪除時在原來的列表操作 a = [1,2,3,4,5,6,7,8] 列表解析 a=[1,2,3,4,5,6,7,8] 倒序刪除 因為列表總是‘向前移’,所以可以倒序遍歷,即使后面的元素被修改了,還沒有被遍歷的元素和其坐標(biāo)還是保持不變的 a=[1,2,3,4,5,6,7,8] 四 .字符串的操作題目 全字母短句 PANGRAM 是包含所有英文字母的句子,比如:A QUICK BROWN FOX JUMPS OVER THE LAZY DOG. 定義并實現(xiàn)一個方法 get_missing_letter, 傳入一個字符串采納數(shù),返回參數(shù)字符串變成一個 PANGRAM 中所缺失的字符。應(yīng)該忽略傳入字符串參數(shù)中的大小寫,返回應(yīng)該都是小寫字符并按字母順序排序(請忽略所有非 ACSII 字符) 下面示例是用來解釋,雙引號不需要考慮: (0)輸入: “A quick brown for jumps over the lazy dog” 返回: “” (1)輸入: “A slow yellow fox crawls under the proactive dog” 返回: “bjkmqz” (2)輸入: “Lions, and tigers, and bears, oh my!” 返回: “cfjkpquvwxz” (3)輸入: “” 返回:“abcdefghijklmnopqrstuvwxyz” def get_missing_letter(a): 五 .可變類型和不可變類型 1,可變類型有l(wèi)ist,dict.不可變類型有string,number,tuple. 2,當(dāng)進行修改操作時,可變類型傳遞的是內(nèi)存中的地址,也就是說,直接修改內(nèi)存中的值,并沒有開辟新的內(nèi)存。 3,不可變類型被改變時,并沒有改變原內(nèi)存地址中的值,而是開辟一塊新的內(nèi)存,將原地址中的值復(fù)制過去,對這塊新開辟的內(nèi)存中的值進行操作。 六 .is和==有什么區(qū)別? is:比較的是兩個對象的id值是否相等,也就是比較倆對象是否為同一個實例對象。是否指向同一個內(nèi)存地址 == : 比較的兩個對象的內(nèi)容/值是否相等,默認會調(diào)用對象的eq()方法 七 .求出列表所有奇數(shù)并構(gòu)造新列表 a = [1,2,3,4,5,6,7,8,9,10] 八 .用一行python代碼寫出1+2+3+10248 from functools import reduce 九 .Python中變量的作用域?(變量查找順序) 函數(shù)作用域的LEGB順序 1.什么是LEGB? L: local 函數(shù)內(nèi)部作用域 E: enclosing 函數(shù)內(nèi)部與內(nèi)嵌函數(shù)之間 G: global 全局作用域 B: build-in 內(nèi)置作用 python在函數(shù)里面的查找分為4種,稱之為LEGB,也正是按照這是順序來查找的 十 .字符串 "123" 轉(zhuǎn)換成 123,不使用內(nèi)置api,例如 int() 方法一: 利用 str 函數(shù) def atoi(s): 方法二: 利用 ord 函數(shù) def atoi(s): 方法三: 利用 eval 函數(shù) def atoi(s): 方法四: 結(jié)合方法二,使用 reduce,一行解決 from functools import reduce 我依然會堅守崗位,繼續(xù)更新我的Python面試題。也祝愿大家中秋節(jié)快樂??! |
|