日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
非常有用的Python技巧

 函數(shù)連續(xù)調(diào)用

 
 
 
 
  1. def add(x): 
  2.     class AddNum(int): 
  3.         def __call__(self, x):
  4.             return AddNum(self.numerator + x)
  5.      return AddNum(x) 
  6. print add(2)(3)(5) 
  7. # 10 
  8. print add(2)(3)(4)(5)(6)(7) 
  9. # 27 
  10. # javascript 版 
  11. var add = function(x){ 
  12.     var addNum = function(x){ 
  13.         return add(addNum + x); 
  14.     }; 
  15.     addNum.toString = function(){ 
  16.         return x; 
  17.     } 
  18.     return addNum; 
  19. }
  20. add(2)(3)(5)//10 
  21. add(2)(3)(4)(5)(6)(7)//27

默認(rèn)值陷阱

 
 
 
 
  1. >>> def evil(v=[]): 
  2. ...     v.append(1) 
  3. ...     print v
  4. ... 
  5. >>> evil() 
  6. [1] 
  7. >>> evil() 
  8. [1, 1]

讀寫csv文件

 
 
 
 
  1. import csv 
  2. with open('data.csv', 'rb') as f: 
  3.     reader = csv.reader(f) 
  4.     for row in reader:
  5.          print row 
  6. # 向csv文件寫入 
  7. import csv 
  8. with open( 'data.csv', 'wb') as f: 
  9.     writer = csv.writer(f) 
  10.     writer.writerow(['name', 'address', 'age'])  # 單行寫入 
  11.     data = [ 
  12.             ( 'xiaoming ','china','10'), 
  13.             ( 'Lily', 'USA', '12')]  
  14.     writer.writerows(data)  # 多行寫入

數(shù)制轉(zhuǎn)換

 
 
 
 
  1. >>> int('1000', 2) 
  2. >>> int('A', 16) 
  3. 10

格式化 json

 
 
 
 
  1. echo'{"k": "v"}' | python-m json.tool

list 扁平化

 
 
 
 
  1. list_ = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] 
  2. [k for i in list_ for k in i] #[1, 2, 3, 4, 5, 6, 7, 8, 9] 
  3. import numpy as np 
  4. print np.r_[[1, 2, 3], [4, 5, 6], [7, 8, 9]] 
  5. import itertools 
  6. print list(itertools.chain(*[[1, 2, 3], [4, 5, 6], [7, 8, 9]])) 
  7. sum(list_, []) 
  8. flatten = lambda x: [y for l in x for y in flatten(l)] if type(x) is list else [x] 
  9. flatten(list_)

list 合并

 
 
 
 
  1. >>> a = [1, 3, 5, 7, 9] 
  2. >>> b = [2, 3, 4, 5, 6] 
  3. >>> c = [5, 6, 7, 8, 9] 
  4. >>> list(set().union(a, b, c)) 
  5. [1, 2, 3, 4, 5, 6, 7, 8, 9]

出現(xiàn)次數(shù)最多的 2 個(gè)字母

 
 
 
 
  1. from collections import Counter 
  2. c = Counter('hello world') 
  3. print(c.most_common(2)) #[('l', 3), ('o', 2)]

謹(jǐn)慎使用

 
 
 
 
  1. eval("__import__('os').system('rm -rf /')", {})

置換矩陣

 
 
 
 
  1. matrix = [[1, 2, 3],[4, 5, 6]]
  2. res = zip( *matrix )   # res = [(1, 4), (2, 5), (3, 6)]

列表推導(dǎo)

 
 
 
 
  1. [item**2 for item in lst if item % 2] 
  2. map(lambda item: item ** 2, filter(lambda item: item % 2, lst)) 
  3. >>> list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9])) 
  4. ['1', '2', '3', '4', '5', '6', '7', '8', '9']

排列組合

 
 
 
 
  1. >>> for p in itertools.permutations([1, 2, 3, 4]): 
  2. ...     print ''.join(str(x) for x in p) 
  3. ... 
  4. 1234 
  5. 1243 
  6. 1324 
  7. 1342 
  8. 1423 
  9. 1432 
  10. 2134 
  11. 2143 
  12. 2314 
  13. 2341 
  14. 2413 
  15. 2431 
  16. 3124 
  17. 3142 
  18. 3214 
  19. 3241 
  20. 3412 
  21. 3421 
  22. 4123 
  23. 4132 
  24. 4213 
  25. 4231 
  26. 4312 
  27. 4321 
  28. >>> for c in itertools.combinations([1, 2, 3, 4, 5], 3): 
  29. ...     print ''.join(str(x) for x in c) 
  30. ... 
  31. 123 
  32. 124 
  33. 125 
  34. 134 
  35. 135 
  36. 145 
  37. 234 
  38. 235 
  39. 245 
  40. 345 
  41. >>> for c in itertools.combinations_with_replacement([1, 2, 3], 2): 
  42. ...     print ''.join(str(x) for x in c) 
  43. ... 
  44. 11 
  45. 12 
  46. 13 
  47. 22 
  48. 23 
  49. 33 
  50. >>> for p in itertools.product([1, 2, 3], [4, 5]): 
  51. (1, 4) 
  52. (1, 5) 
  53. (2, 4) 
  54. (2, 5) 
  55. (3, 4) 
  56. (3, 5)

默認(rèn)字典

 
 
 
 
  1. >>> m = dict() 
  2. >>> m['a'] 
  3. Traceback (most recent call last): 
  4.   File "", line 1, in  
  5. KeyError: 'a' 
  6. >>> 
  7. >>> m = collections.defaultdict(int) 
  8. >>> m['a'] 
  9. >>> m['b'] 
  10. >>> m = collections.defaultdict(str) 
  11. >>> m['a'] 
  12. '' 
  13. >>> m['b'] += 'a' 
  14. >>> m['b'] 
  15. 'a' 
  16. >>> m = collections.defaultdict(lambda: '[default value]') 
  17. >>> m['a'] 
  18. '[default value]' 
  19. >>> m['b'] 
  20. '[default value]'

反轉(zhuǎn)字典

 
 
 
 
  1. >>> m = {'a': 1, 'b': 2, 'c': 3, 'd': 4} 
  2. >>> m 
  3. {'d': 4, 'a': 1, 'b': 2, 'c': 3} 
  4. >>> {v: k for k, v in m.items()} 
  5. {1: 'a', 2: 'b', 3: 'c', 4: 'd'} 

文章題目:非常有用的Python技巧
本文鏈接:http://www.5511xx.com/article/dpoipej.html