python 字典取值的时间复杂度_五道常见的Python面试题一定不要答错!
第1題:閱讀下面的代碼,默讀出A0,A1至An的最終值。
默讀代碼類的題目,相對來說是比較簡單的。重點(diǎn)去研究列表解析,之后你就可以輕松的回答這些問題啦
第2題:如何提高python的運(yùn)行效率?
1.數(shù)據(jù)結(jié)構(gòu)一定要選對 能用字典就不用列表:字典在索引查找和排序方面遠(yuǎn)遠(yuǎn)高于列表。
2.多用python中封裝好的模塊庫關(guān)鍵代碼使用外部功能包(Cython,pylnlne,pypy,pyrex)
3.使用生成器
4.針對循環(huán)的優(yōu)化 盡量避免在循環(huán)中訪問變量的屬性
5.使用較新的Python版本
第3題: Python字典有什么特點(diǎn),從字典中取值,時(shí)間復(fù)雜度是多少?
dict(中文叫字典)是另一種可變?nèi)萜髂P?#xff0c;且可存儲任意類型對象。 字典的每個(gè)鍵值(key=>value)對用冒號(:)分割,每個(gè)對之間用逗號(,)分割,整個(gè)字典包括在花括號{}中 字典的特性
不過dict的查找速度快不是沒有代價(jià)的,dict的缺點(diǎn)是占用內(nèi)存大,還會浪費(fèi)很多內(nèi)容,list正好相反,占用內(nèi)存小,但是查找速度慢。
dict的第二個(gè)特點(diǎn)就是存儲的key-value序?qū)κ菦]有順序的!這和list不一樣。
從字典中取值,時(shí)間復(fù)雜度是多少 O(1),字典是hash table實(shí)現(xiàn)
第4題: 多線程、多進(jìn)程?
線程是操作系統(tǒng)能夠進(jìn)行運(yùn)算調(diào)度的最小單位。它被包含在進(jìn)程之中,是進(jìn)程中的實(shí)際運(yùn)作單位。
一條線程指的是進(jìn)程中一個(gè)單一順序的控制流,一個(gè)進(jìn)程中可以并發(fā)多個(gè)線程,每條線程并行執(zhí)行不同的任務(wù)。一個(gè)線程是一個(gè)execution context(執(zhí)行上下文),即一個(gè)cpu執(zhí)行時(shí)所需要的一串指令。
一個(gè)程序的執(zhí)行實(shí)例就是一個(gè)進(jìn)程。每一個(gè)進(jìn)程提供執(zhí)行程序所需的所有資源。(進(jìn)程本質(zhì)上是資源的集合)
一個(gè)進(jìn)程有一個(gè)虛擬的地址空間、可執(zhí)行的代碼、操作系統(tǒng)的接口、安全的上下文(記錄啟動該進(jìn)程的用戶和權(quán)限等等)、唯一的進(jìn)程ID、環(huán)境變量、優(yōu)先級類、最小和最大的工作空間(內(nèi)存空間),還要有至少一個(gè)線程。
每一個(gè)進(jìn)程啟動時(shí)都會最先產(chǎn)生一個(gè)線程,即主線程 然后主線程會再創(chuàng)建其他的子線程。進(jìn)程與線程區(qū)別
1.同一個(gè)進(jìn)程中的線程共享同一內(nèi)存空間,但是進(jìn)程之間是獨(dú)立的。
2.同一個(gè)進(jìn)程中的所有線程的數(shù)據(jù)是共享的(進(jìn)程通訊),進(jìn)程之間的數(shù)據(jù)是獨(dú)立的。
3.對主線程的修改可能會影響其他線程的行為,但是父進(jìn)程的修改(除了刪除以外)不會影響其他子進(jìn)程。
4.線程是一個(gè)上下文的執(zhí)行指令,而進(jìn)程則是與運(yùn)算相關(guān)的一簇資源。
5.同一個(gè)進(jìn)程的線程之間可以直接通信,但是進(jìn)程之間的交流需要借助中間代理來實(shí)現(xiàn)。
6.創(chuàng)建新的線程很容易,但是創(chuàng)建新的進(jìn)程需要對父進(jìn)程做一次復(fù)制。
7.一個(gè)線程可以操作同一進(jìn)程的其他線程,但是進(jìn)程只能操作其子進(jìn)程。
8.線程啟動速度快,進(jìn)程啟動速度慢(但是兩者運(yùn)行速度沒有可比性)。
第5題: 請盡可能列舉python列表的成員方法,并給出以下列表操作的答案:
a=[1, 2, 3, 4, 5], a[::2]=?, a[-2:] = ?
一行代碼實(shí)現(xiàn)對列表a中的偶數(shù)位置的元素進(jìn)行加3后求和?
將列表a的元素順序打亂,再對a進(jìn)行排序得到列表b,然后把a(bǔ)和b按元素順序構(gòu)造一個(gè)字典d。
總結(jié)
以上是生活随笔為你收集整理的python 字典取值的时间复杂度_五道常见的Python面试题一定不要答错!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker容器mysql头文件_在Do
- 下一篇: python编程基础 张健 pdf_Py