標籤:ict 問題: 函數 IV col img **kwargs sort map對象
1、 擷取list的元素個數,向list的末尾追加元素所用的方法分別是( ),( )
count ,append
2、 判斷dict有沒有某個key用的方法是( )
in
3、 L = range(100) ,取第一到第三個元素用(),取倒數第二個元素(),取後十個元素()
L[:3]L[-2]L[-10:]
4、 把L複製給L1用() 注意:非引用傳遞
L1 = L.copy()
5、d = {‘a‘:1,‘b‘:2,‘c‘:3}請列印出key,value對
for k,v in d.items(): print(k,v)
6、 如何判斷一個變數是不是字串
isinstance(a,str)
7、 list和tuple有什麼不同?
8、 xrange和range有什麼不同?
9、 ‘1,2,3’如何變成[‘1’,’2’,’3’] ? [‘1’,’2’,’3’]如何變成 [1,2,3]
s1 = "1,2,3"s2 = list(s1.split(‘,‘))s3 = list(map(int,s2))
10、請回答以下問題?
def add_end(L= []): L.append(‘END‘) return Lprint(add_end()) # 輸出什嗎?print(add_end()) # 再次調用輸出什嗎?為什嗎?
["END"] ["END",""END] 函數的預設參數在編譯時間,分配記憶體空間。沒有給予參數都是使用預設的參數,是同一段記憶體位址的同一對象。
11、[36,5,12,9,21]怎麼排序?
a = [36,5,12,9,21]a.sort()
12、請回答以下問題:
def func(a,b,c=0,*args,**kwargs): pass*args,**kwargs的作用是什嗎?
當函數的參數不確定時,可以使用*args 和**kwargs來 傳遞可變參數。*args儲存可變的位置參數,它會接收任意多個參數並把這些參數作為元組傳遞給函數。**kwargs儲存可變的關鍵字參數,允許你使用沒有事先定義的參數名,將接收到任意多個關鍵字參數作為字典傳遞給函數。注意函數的參數的順序:args必須在kwargs前面,調用函數傳遞參數也必須依照此順序
13、is和==的區別是?
Python中的對象包含三要素:id、type、value其中id用來唯一標識一個對象,type標識對象的類型,value是對象的值is判斷的是a對象是否就是b對象,是通過id來判斷的==判斷的是a對象的值是否和b對象的值相等,是通過value來判斷的
14、如何產生[1,4,9,16,25,36,49,64,81,100]?盡量用一行實現
[x*x for x in range(1,11)]
15、產生器是什嗎?有什麼作用?請寫出一個產生器
a = ( i for i in range(11))
16、map(str,[1,2,3,4,5,6,7,8,9])輸出什嗎?
# 產生的是map對象print(list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9])))# [‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘]
17、請寫出log的實現(主要功能是列印函數名)
@logdef now(): print(‘2013-12-25‘)now()# 輸出:# call now()# 2013-12-25
import functoolsdef log(func): @functools.wraps(func) def inner(): print(‘call ‘+ func.__name__ + ‘()‘) func() return inner
Python----面試題(四)