答:方法一:reduce(lambda x,y:x+y,[i+(a.index(i)+1)%2*3 for i in a])html
方法二:reduce(lambda x,y:x+y,[a[i]+(i+1)%2*3 for i in range(0,len(a))]python
shuffer(a) b = sorted(a, reverse=True) dict_new = dict(zip(a, b))
答:1.readlines() 一次讀取整個文件,象 .read() 同樣且.readlines() 自動將文件內容分析成一個行的列表。另外一方面,.readline() 每次只讀取一行,一般比 .readlines() 慢得多。僅當沒有足夠內存能夠一次讀取整個文件時,才應該使用 .readline()。安全
2.readlines返回列表,xreadlines返回迭代器。多線程
def findTopFreqWords(filename, num=1): 'Find Top Frequent Words:' fp = open(filename, 'r') text = fp.read() fp.close() lst = re.split('[0-9\W]+', text) # create words set, no repeat words = set(lst) d = {} for word in words: d[word] = lst.count(word) del d[''] result = [] for key, value in sorted(d.iteritems(), key=lambda (k,v): (v,k),reverse=True): result.append((key, value)) return result[:num] def test(): topWords = findTopFreqWords('test.txt',10) print topWords if __name__=='__main__': test()
三、簡述python GIL的概念, 以及它對python多線程的影響?編寫一個多線程抓取網頁的程序,並闡明多線程抓取程序是否可比單線程性能有提高,並解釋緣由。app
四、用python編寫一個線程安全的單例模式實現。性能
五、請回答一下問題:.net
(1) 闡述一下裝飾器,描述符(property)、元類的概念,並列舉其應用場景;線程
(2) 如何動態獲取和設置對象的屬性。code