如下,a元素是列表中的字典。需要按照字典中的数字进行排序。
a = [{u'value': 'enp5s0', u'label': 'enp5s0'}, {u'value': 'enp8s0', u'label': 'enp8s0'}, {u'value': 'enp4s0', u'label': 'enp4s0'}, {u'value': 'enp6s0', u'label': 'enp6s0'}, {u'value': 'enp7s0', u'label': 'enp7s0'}, {u'value': 'enp9s0', u'label': 'enp9s0'}]
def comp(x, y):
if x.get('label') < y.get('label'):
return -1
elif x.get('label') > y.get('label'):
return 1
else:
return 0
a.sort(cmp=comp) # py2才可以
利用sort()中加参进行排序。
# 排序前
[{u'value': 'enp5s0', u'label': 'enp5s0'}, {u'value': 'enp8s0', u'label': 'enp8s0'}, {u'value': 'enp4s0', u'label': 'enp4s0'}, {u'value': 'enp6s0', u'label': 'enp6s0'}, {u'value': 'enp7s0', u'label': 'enp7s0'}, {u'value': 'enp9s0', u'label': 'enp9s0'}]
# 排序后
[{u'value': 'enp4s0', u'label': 'enp4s0'}, {u'value': 'enp5s0', u'label': 'enp5s0'}, {u'value': 'enp6s0', u'label': 'enp6s0'}, {u'value': 'enp7s0', u'label': 'enp7s0'}, {u'value': 'enp8s0', u'label': 'enp8s0'}, {u'value': 'enp9s0', u'label': 'enp9s0'}]