a = [{'x0': 15, 'y0': 30}, {'x0': 1, 'y0': 35}, {'x0': 15, 'y0': 40}, {'x0': 15, 'y0': 20}, {'x0': 1,y0': 20},{'x0': 5, 'y0': 10}]
a = [{'x0': 15, 'y0': 30}, {'x0': 1, 'y0': 35}, {'x0': 15, 'y0': 40}]
def sort_by_x0y0(mylist, param):
length = len(mylist)
if length < 2:
print('传入的列表长度必须大于1')
return []
for i in range(length):
flag = True
for j in range(length - i - 1):
if mylist[j]['x0'] >= mylist[j + 1]['x0']:
if mylist[j]['x0'] - mylist[j + 1]['x0'] > param:
mylist[j], mylist[j + 1] = mylist[j + 1], mylist[j]
flag = False
elif mylist[j]['y0'] - mylist[j + 1]['y0'] > param:
mylist[j], mylist[j + 1] = mylist[j + 1], mylist[j]
flag = False
if flag:
break
return mylist
sort_by_x0y0([], 2)
x 升序,y 降序
a = [{'x0': 15, 'y0': 30}, {'x0': 1, 'y0': 35}, {'x0': 15, 'y0': 40}, {'x0': 15, 'y0': 20}, {'x0': 1, 'y0': 20},
{'x0': 5, 'y0': 10}]
res=sorted(a, key=lambda x: (x['x0'], -x['y0']))
print(res)