wendu 发表于 2017-4-28 08:23:10

python字典数组排序实现

  python对容器内数据的排序有两种,一种是容器自己的sort函数,一种是内建的sorted函数。
  sort函数和sorted函数唯一的不同是,sort是在容器内排序,sorted生成一个新的排好序的容器
  eg数组排序:
  L=.
  sort: L.sort()
  sorted(...)
sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
  eg字典排序:
  按照key倒序排列输出
  records = {'aapl':4.0,'abandon':4.0, 'absenc': 3.0,}
  recordsort= sorted(records.items(),key=lambda records:records,reverse=True)
f = file ('/data/ebi/meta/channelxlsexport/Datasrc'+date+'.csv', 'w')
for line in recordsort:
f.write(line+'\n')
f.close()
  OrderedDict是collections中的一个包,能够记录字典元素插入的顺序,常常和排序函数一起使用来生成一个排序的字典。
  比如,比如一个无序的字典
  d = {‘banana’:3,’apple’:4,’pear’:1,’orange’:2}
  通过排序来生成一个有序的字典,有以下几种方式
  collections.OrderedDict(sorted(d.items(),key = lambda t:t))
  或者
  collections.OrderedDict(sorted(d.items(),key = lambda t:t))
  或者
  collections.OrderedDict(sorted(d.items(),key = lambda t:len(t)))
页: [1]
查看完整版本: python字典数组排序实现