python中常见的一些题目汇总
1.想創(chuàng)建一個(gè)空的列表,我們可以用下面的 A、B 兩種方式,請問它們在效率上有什么區(qū)別嗎?我們應(yīng)該優(yōu)先考慮使用哪種呢?可以說說你的理由
# 創(chuàng)建空列表 # option A empty_list = list() # option B empty_list = []區(qū)別主要在于list()是一個(gè)function call,Python的function call會創(chuàng)建stack,并且進(jìn)行一系列參數(shù)檢查的操作,比較expensive,反觀[]是一個(gè)內(nèi)置的C函數(shù),可以直接被調(diào)用,因此效率高。
2.字典的鍵可以是一個(gè)列表嗎?下面這段代碼中,字典的初始化是否正確呢?如果不正確,可以說出你的原因嗎?
d = {'name': 'jason', ['education']: ['Tsinghua University', 'Stanford University']}用列表作為 Key 在這里是不被允許的,因?yàn)榱斜硎且粋€(gè)動態(tài)變化的數(shù)據(jù)結(jié)構(gòu),字典當(dāng)中的 key 要求是不可變的,原因也很好理解,key 首先是不重復(fù)的,如果 Key 是可以變化的話,那么隨著 Key 的變化,這里就有可能就會有重復(fù)的 Key,那么這就和字典的定義相違背;如果把這里的列表換成之前我們講過的元組是可以的,因?yàn)樵M不可變
3.下面初始化字典的方式,哪一種更高效?
''' 遇到問題沒人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' # Option A d = {'name': 'jason', 'age': 20, 'gender': 'male'}# Option B d = dict({'name': 'jason', 'age': 20, 'gender': 'male'})第一種方法更快,原因感覺上是和之前一樣,就是不需要去調(diào)用相關(guān)的函數(shù),而且 {} 是關(guān)鍵字,內(nèi)部會去直接調(diào)用底層C寫好的代碼
總結(jié)
以上是生活随笔為你收集整理的python中常见的一些题目汇总的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python基础教程:list和tupl
- 下一篇: Python格式化字符串知多少