列表排序:

在py3.x中cmp参数被移除
py2.x:
list.sort(cmd, key, reverse)
py3.x:
list.sort(key, reverse)
那么在py3.x中如何在列表排序时为其加入比较函数呢
答案是:使用functools.cmp_to_key
只需要用这个函数把比较函数包裹传给key即可
list.sort(key=functools.cmp_to_key(_sort))

经常遇到版本排序的问题:

下面是给list排序时传入的cmp函数

  1. def _sort(v1, v2):
  2. v1 = v1.strip('v')
  3. v2 = v2.strip('v')
  4. v1_list = [int(item) for item in v1.split('.')]
  5. v2_list = [int(item) for item in v2.split('.')]
  6. for i in range(len(v1_list)):
  7. if v1_list[i] > v2_list[i]:
  8. return 1
  9. elif v1_list[i] < v2_list[i]:
  10. return -1
  11. return 0