周三面試Python開發(fā),這幾道Python面試題差點答錯,Python面試題No7

      網(wǎng)友投稿 751 2025-04-01

      文章目錄


      第1題:閱讀下面的代碼,默讀出A0,A1至An的最終值。

      第2題:如何提高python的運行效率?

      第3題: Python字典有什么特點,從字典中取值,時間復(fù)雜度是多少?

      第4題: 多線程、多進程?

      第5題: 請盡可能列舉python列表的成員方法,并給出以下列表操作的答案:

      第1題:閱讀下面的代碼,默讀出A0,A1至An的最終值。

      A0 = dict(zip(('a','b','c','d','e'),(1,2,3,4,5))) A1 = range(10) A2 = [i for i in A1 if i in A0] A3 = [A0[s] for s in A0] A4 = [i for i in A1 if i in A3] A5 = {i:i*i for i in A1} A6 = [[i,i*i] for i in A1]

      1

      2

      3

      4

      5

      6

      7

      默讀代碼類的題目,相對來說是比較簡單的。重點去研究列表解析,之后你就可以輕松的回答這些問題嘍~

      A0 = {'a': 1, 'c': 3, 'b': 2, 'e': 5, 'd': 4} A1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] A2 = [] A3 = [1, 3, 2, 5, 4] A4 = [1, 2, 3, 4, 5] A5 = {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81} A6 = [[0, 0], [1, 1], [2, 4], [3, 9], [4, 16], [5, 25], [6, 36], [7, 49], [8, 64], [9, 81]]

      1

      2

      3

      4

      5

      6

      7

      第2題:如何提高python的運行效率?

      數(shù)據(jù)結(jié)構(gòu)一定要選對

      能用字典就不用列表:字典在索引查找和排序方面遠遠高于列表。

      多用python中封裝好的模塊庫

      關(guān)鍵代碼使用外部功能包(Cython,pylnlne,pypy,pyrex)

      使用生成器

      針對循環(huán)的優(yōu)化

      盡量避免在循環(huán)中訪問變量的屬性

      使用較新的Python版本

      第3題: Python字典有什么特點,從字典中取值,時間復(fù)雜度是多少?

      dict(中文叫字典)是另一種可變?nèi)萜髂P停铱纱鎯θ我忸愋蛯ο蟆?/p>

      字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號{}中

      字典的特性

      查找速度快

      無論dict有10個元素還是10萬個元素,查找速度都一樣。而list的查找速度隨著元素增加而逐漸下降。

      不過dict的查找速度快不是沒有代價的,dict的缺點是占用內(nèi)存大,還會浪費很多內(nèi)容,list正好相反,占用內(nèi)存小,但是查找速度慢。

      字典值可以沒有限制地取任何python對象,既可以是標(biāo)準(zhǔn)的對象,也可以是用戶定義的,但鍵不行。

      不允許同一個鍵出現(xiàn)兩次。

      鍵必須不可變,所以可以用數(shù)字,字符串或元組充當(dāng),所以用列表就不行。

      dict的第二個特點就是存儲的key-value序?qū)κ菦]有順序的!這和list不一樣。

      從字典中取值,時間復(fù)雜度是多少

      O(1),字典是hash table實現(xiàn)

      第4題: 多線程、多進程?

      線程

      周三面試Python開發(fā),這幾道Python面試題差點答錯,Python面試題No7

      線程是操作系統(tǒng)能夠進行運算調(diào)度的

      最小單位

      。它被包含在進程之中,是進程中的實際運作單位。

      一條線程指的是進程中一個單一順序的控制流,一個進程中可以并發(fā)多個線程,每條線程并行執(zhí)行不同的任務(wù)。一個線程是一個execution context(執(zhí)行上下文),即一個cpu執(zhí)行時所需要的一串指令。

      進程

      一個程序的

      執(zhí)行實例

      就是一個進程。每一個進程提供執(zhí)行程序所需的所有資源。(進程本質(zhì)上是資源的集合)

      一個進程有一個虛擬的地址空間、可執(zhí)行的代碼、操作系統(tǒng)的接口、安全的上下文(記錄啟動該進程的用戶和權(quán)限等等)、唯一的進程ID、環(huán)境變量、優(yōu)先級類、最小和最大的工作空間(內(nèi)存空間),還要有

      至少一個線程

      每一個進程啟動時都會最先產(chǎn)生一個線程,即主線程 然后主線程會再創(chuàng)建其他的子線程。

      進程與線程區(qū)別

      轉(zhuǎn)載自互聯(lián)網(wǎng),總結(jié)的挺好的,有益!

      深入的理解看這篇博客就可以了:https://www.cnblogs.com/whatisfantasy/p/6440585.html

      同一個進程中的線程共享同一內(nèi)存空間,但是進程之間是獨立的。

      同一個進程中的所有線程的數(shù)據(jù)是共享的(進程通訊),進程之間的數(shù)據(jù)是獨立的。

      對主線程的修改可能會影響其他線程的行為,但是父進程的修改(除了刪除以外)不會影響其他子進程。

      線程是一個上下文的執(zhí)行指令,而進程則是與運算相關(guān)的一簇資源。

      同一個進程的線程之間可以直接通信,但是進程之間的交流需要借助中間代理來實現(xiàn)。

      創(chuàng)建新的線程很容易,但是創(chuàng)建新的進程需要對父進程做一次復(fù)制。

      一個線程可以操作同一進程的其他線程,但是進程只能操作其子進程。

      線程啟動速度快,進程啟動速度慢(但是兩者運行速度沒有可比性)。

      第5題: 請盡可能列舉python列表的成員方法,并給出以下列表操作的答案:

      a=[1, 2, 3, 4, 5], a[::2]=?, a[-2:] = ?

      a[::2] = [1, 3, 5], a[-2:] = [4, 5]

      1

      一行代碼實現(xiàn)對列表a中的偶數(shù)位置的元素進行加3后求和?

      from functools import reduce a = [1, 2, 3, 4, 5] print(reduce(lambda x, y: x+y, [(x+3*((a.index(x)+1)%2)) for x in a])) # a中元素均不相同 # 或 print(reduce(lambda x, y: x+y, [a[x]+(x+1)%2*3 for x in range(0, 5)])) # 只適用于a中元素有5個情況

      1

      2

      3

      4

      5

      將列表a的元素順序打亂,再對a進行排序得到列表b,然后把a和b按元素順序構(gòu)造一個字典d。

      from random import shuffle a = [1, 2, 3, 4, 5] # 打亂列表a的元素順序 shuffle(a) # 對a進行排序得到列表b b = sorted(a, reverse=True) # zip 并行迭代,將兩個序列“壓縮”到一起,然后返回一個元組列表,最后,轉(zhuǎn)化為字典類型。 d = dict(zip(a, b)) print(d)

      1

      2

      3

      4

      5

      6

      7

      8

      9

      Python 任務(wù)調(diào)度

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:好看的甘特圖
      下一篇:相約HC全聯(lián)接大會,遇見不一樣的自己
      相關(guān)文章
      亚洲日韩乱码中文无码蜜桃臀网站| 亚洲国产专区一区| 在线观看午夜亚洲一区| 亚洲А∨精品天堂在线| 看亚洲a级一级毛片| 国产精品亚洲综合五月天| 2020国产精品亚洲综合网| 亚洲中字慕日产2020| 亚洲免费在线视频观看| 亚洲免费电影网站| 亚洲一区在线视频观看| 亚洲AV无码久久久久网站蜜桃| 亚洲依依成人精品| 国产成人精品日本亚洲网址| 麻豆狠色伊人亚洲综合网站 | 亚洲AV无码一区二区三区人 | 亚洲人成网网址在线看| 亚洲国产精品白丝在线观看| 亚洲综合久久成人69| 亚洲理论片中文字幕电影| 亚洲日本国产乱码va在线观看| 亚洲电影唐人社一区二区| 亚洲一区中文字幕在线电影网| 亚洲AV无码乱码麻豆精品国产| 亚洲真人无码永久在线观看| 亚洲狠狠婷婷综合久久| 亚洲AⅤ视频一区二区三区| 久久亚洲精品无码播放| 亚洲国产精品成人精品无码区| 亚洲日韩区在线电影| 亚洲女人初试黑人巨高清| 亚洲综合成人婷婷五月网址| 亚洲av片在线观看| 亚洲国产婷婷综合在线精品 | 国产亚洲大尺度无码无码专线| 国产亚洲av片在线观看16女人 | 国产成人高清亚洲一区久久 | 中文字幕亚洲图片| 亚洲a在线视频视频| 亚洲日本香蕉视频观看视频| 在线观看亚洲AV日韩AV|