#!/usr/bin/env python
#coding = utf-8
data=[]
data.append({'province':'beijing', 'order_price':100, 'user_count':100, 'total_price': 1000})
data.append({'province':'shanghai', 'order_price':200, 'user_count':50, 'total_price': 10000})
data.append({'province':'shenzhen', 'order_price':300, 'user_count':100, 'total_price': 30000})
print data
print type(data)
for i in range(len(data)):
print i, type(data[i]), data[i]
data.sort(key=lambda z:(z['user_count'], -z['order_price']), reverse=True)
print '#' * 20
for d in data:
print d
输出:
[{'province': 'beijing', 'total_price': 1000, 'user_count': 100, 'order_price': 100}, {'province': 'shanghai', 'total_price': 10000, 'user_count': 50, 'order_price': 200}, {'province': 'shenzhen', 'total_price': 30000, 'user_count': 100, 'order_price': 300}]
<type 'list'>
0 <type 'dict'> {'province': 'beijing', 'total_price': 1000, 'user_count': 100, 'order_price': 100}
1 <type 'dict'> {'province': 'shanghai', 'total_price': 10000, 'user_count': 50, 'order_price': 200}
2 <type 'dict'> {'province': 'shenzhen', 'total_price': 30000, 'user_count': 100, 'order_price': 300}
####################
{'province': 'beijing', 'total_price': 1000, 'user_count': 100, 'order_price': 100}
{'province': 'shenzhen', 'total_price': 30000, 'user_count': 100, 'order_price': 300}
{'province': 'shanghai', 'total_price': 10000, 'user_count': 50, 'order_price': 200}
说明: 按照 user_count 降序排列, user_count 相同的按照 order_price 的升序排列