面試第六篇

1. list 和 tuple 和 dict 各自特色python

tuple  元祖 固定長度不可變的順序容器,訪問效率高,適合存儲一些常量數據,能夠做爲字典的鍵使用
list   列表 是長度可變有序的數據存儲容器,能夠經過下標索引取到相應的數據
dict   字典 長度可變的hash字典容器,存儲的方式爲鍵值對,能夠經過相應的鍵獲取相應的值,key支持多種類型

2. ‘1,2,3’如何變成[‘1’,’2’,’3’]     [‘1’,’2’,’3’]如何變成[1,2,3] ?app

obj = "1,2,3".split(",")
xx = [int(i) for i in obj]

3. def add_end(L=[]):函數

    L.append(‘END’)對象

    return L
  add_end() 輸出什麼?
  add_end() 再次調用輸出什麼?爲何? blog

['END']

['END'] ['END'], 由於在第一次調用的時候L就已經生成,在內存中相似於全局變量,第二次調用的時候會在第一次調用的基礎上進行添加(默認參數必須指向不變的對象)

4. [34,5,12,9,21]怎麼排序排序

sorted()

5. def func(a,b,c = 0,*args,**kw):索引

      pass內存

  *args,**kw 的做用是什麼?字符串

*args接收位置參數,**kw接收關鍵字傳參

6. 如何生成[1,4,9,16,25,36,64,81,100]儘可能用一行實現hash

obj = [i**2 for i in range(11)]

7. 生成器是什麼?有什麼用?請寫一個生成器

能夠理解爲一種數據類型,這種數據類型自動實現了迭代器協議(其餘的數據類型須要調用本身內置的__iter__方法),因此生成器就是可迭代對象 

def test():
    print("one")
    yield 1

8. map(str,[1,2,3,4,5,6,7,8,9])輸出什麼

#map函數是對一個序列的每一個項依次執行函數

輸出是一個map對象

加上list() 會輸出['1', '2', '3', '4', '5', '6', '7', '8', '9']

9. python 支持的數據類型有

Number(數字)  
String(字符串)
List(列表)
Tuple(元組)
Sets(集合)
Dictionary(字典)

10. 請把一下函數轉化成 python 的 lamabda 匿名函數:

  def add(x,y):

    return x+y 

lamabda:x,y:x+y
相關文章
相關標籤/搜索