中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

你在金九銀十的求職浪潮中如魚得水,而我在碼字—Python面試題

發布時間:2020-08-12 20:36:55 來源:ITPUB博客 閱讀:154 作者:千鋒Python唐小強 欄目:編程語言

雖然明天就是中秋節了,而我依然在電腦面前碼字,寫總結。多寫一些,你們中秋就多學一點,哈哈哈!Python面試題又來咯!找工作的你,還不趕緊看。

你在金九銀十的求職浪潮中如魚得水,而我在碼字—Python面試題

一 .反轉一個整數,例如-123 --> -321

class Solution(object):
 def reverse(self,x):
 if -10<x<10:
 return x
 str_x = str(x)
 if str_x[0] !="-":
 str_x = str_x[::-1]
 x = int(str_x)
 else:
 str_x = str_x[1:][::-1]
 x = int(str_x)
 x = -x
 return x if -2147483648<x<2147483647 else 0
if __name__ == '__main__':
 s = Solution()
 reverse_int = s.reverse(-120)
 print(reverse_int)

二 .設計實現遍歷目錄與子目錄,抓取.pyc文件?

第一種方法:

import os
def get_files(dir,suffix):
 res = []
 for root,dirs,files in os.walk(dir):
 for filename in files:
 name,suf = os.path.splitext(filename)
 if suf == suffix:
 res.append(os.path.join(root,filename))
 print(res)
get_files("./",'.pyc')

第二種方法:

import os
def pick(obj):
 if ob.endswith(".pyc"):
 print(obj)
def scan_path(ph):
 file_list = os.listdir(ph)
 for obj in file_list:
 if os.path.isfile(obj):
 pick(obj)
 elif os.path.isdir(obj):
 scan_path(obj)
if __name__=='__main__':
 path = input('輸入目錄')
 scan_path(path)

第三種方法

from glob import iglob
def func(fp, postfix):
 for i in iglob(f"{fp}/**/*{postfix}", recursive=True):
 print(i)
if __name__ == "__main__":
 postfix = ".pyc"
 func("K:\Python_script", postfix)

三 .Python-遍歷列表時刪除元素的正確做法

遍歷在新在列表操作,刪除時在原來的列表操作

a = [1,2,3,4,5,6,7,8]
print(id(a))
print(id(a[:]))
for i in a[:]:
 if i>5:
 pass
 else:
 a.remove(i)
 print(a)
print('-----------')
print(id(a))
#filter
a=[1,2,3,4,5,6,7,8]
b = filter(lambda x: x>5,a)
print(list(b))

列表解析

a=[1,2,3,4,5,6,7,8]
b = [i for i in a if i>5]
print(b)

倒序刪除

因為列表總是‘向前移’,所以可以倒序遍歷,即使后面的元素被修改了,還沒有被遍歷的元素和其坐標還是保持不變的

a=[1,2,3,4,5,6,7,8]
print(id(a))
for i in range(len(a)-1,-1,-1):
 if a[i]>5:
 pass
 else:
 a.remove(a[i])
print(id(a))
print('-----------')
print(a)

四 .字符串的操作題目

全字母短句 PANGRAM 是包含所有英文字母的句子,比如:A QUICK BROWN FOX JUMPS OVER THE LAZY DOG. 定義并實現一個方法 get_missing_letter, 傳入一個字符串采納數,返回參數字符串變成一個 PANGRAM 中所缺失的字符。應該忽略傳入字符串參數中的大小寫,返回應該都是小寫字符并按字母順序排序(請忽略所有非 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):
 s1 = set("abcdefghijklmnopqrstuvwxyz")
 s2 = set(a)
 ret = "".join(sorted(s1-s2))
 return ret
 
print(get_missing_letter("python"))

五 .可變類型和不可變類型

1,可變類型有list,dict.不可變類型有string,number,tuple.

2,當進行修改操作時,可變類型傳遞的是內存中的地址,也就是說,直接修改內存中的值,并沒有開辟新的內存。

3,不可變類型被改變時,并沒有改變原內存地址中的值,而是開辟一塊新的內存,將原地址中的值復制過去,對這塊新開辟的內存中的值進行操作。

六 .is和==有什么區別?

is:比較的是兩個對象的id值是否相等,也就是比較倆對象是否為同一個實例對象。是否指向同一個內存地址

== : 比較的兩個對象的內容/值是否相等,默認會調用對象的eq()方法

七 .求出列表所有奇數并構造新列表

a = [1,2,3,4,5,6,7,8,9,10]
res = [ i for i in a if i%2==1]
print(res)

八 .用一行python代碼寫出1+2+3+10248

from functools import reduce
#1.使用sum內置求和函數
num = sum([1,2,3,10248])
print(num)
#2.reduce 函數
num1 = reduce(lambda x,y :x+y,[1,2,3,10248])
print(num1)

九 .Python中變量的作用域?(變量查找順序)

函數作用域的LEGB順序

1.什么是LEGB?

L: local 函數內部作用域

E: enclosing 函數內部與內嵌函數之間

G: global 全局作用域

B: build-in 內置作用

python在函數里面的查找分為4種,稱之為LEGB,也正是按照這是順序來查找的

十 .字符串 "123" 轉換成 123,不使用內置api,例如 int()

方法一: 利用 str 函數

def atoi(s):
 num = 0
 for v in s:
 for j in range(10):
 if v == str(j):
 num = num * 10 + j
 return num

方法二: 利用 ord 函數

def atoi(s):
 num = 0
 for v in s:
 num = num * 10 + ord(v) - ord('0')
 return num

方法三: 利用 eval 函數

def atoi(s):
 num = 0
 for v in s:
 t = "%s * 1" % v
 n = eval(t)
 num = num * 10 + n
 return num

方法四: 結合方法二,使用 reduce,一行解決

from functools import reduce
def atoi(s):
 return reduce(lambda num, v: num * 10 + ord(v) - ord('0'), s, 0)

我依然會堅守崗位,繼續更新我的Python面試題。也祝愿大家中秋節快樂啊!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长白| 丰城市| 安阳县| 乌鲁木齐县| 泽库县| 永泰县| 福泉市| 大新县| 宝山区| 沙河市| 伊宁县| 汝州市| 鄂尔多斯市| 腾冲县| 含山县| 湛江市| 二手房| 浙江省| 万宁市| 贵港市| 玛多县| 革吉县| 石景山区| 乐平市| 万州区| 边坝县| 酒泉市| 蓝田县| 曲松县| 宾川县| 定安县| 黔江区| 桓台县| 营口市| 湾仔区| 基隆市| 张家界市| 垦利县| 信阳市| 民权县| 湟中县|