假设输入是这样的:
"[{'ability': 18, 'spin': -14, 'strike': 0, 'purity': 5, 'power': 257}, {'ability': -6, 'spin': 147, 'strike': -17, 'purity': 6, 'power': 288}, {'ability': 9, 'spin': 272, 'strike': 10, 'purity': 8, 'power': 256}, {'ability': 0, 'spin': 138, 'strike': -6, 'purity': 19, 'power': 205}]"
我必须根据键“ ability”上的值对输入进行排序。
def sort_kvs(lsts):
l = len(lsts)
sort = []
smallest = lsts[0]["ability"]
for i in range (l):
if lsts[i]["ability"] < lsts[0]["ability"]:
smallest = lsts[i]["ability"]
small = lsts[i]
sort.append(small)
return sort
我想要这样的输出:[{'ability': -6, 'spin': 147, 'strike': -17, 'purity': 6, 'power': 288}, {'ability': 0, 'spin': 138, 'strike': -6, 'purity': 19, 'power': 205}, {'ability': 9, 'spin': 272, 'strike': 10, 'purity': 8, 'power': 256}, {'ability': 18, 'spin': -14, 'strike': 0, 'purity': 5, 'power': 257}]
答案 0 :(得分:0)
将sorted
与自定义key
一起使用:
>>> l = [{'ability': 18, 'spin': -14, 'strike': 0, 'purity': 5, 'power': 257}, {'ability': -6, 'spin': 147, 'strike': -17, 'purity': 6, 'power': 288}, {'ability': 9, 'spin': 272, 'strike': 10, 'purity': 8, 'power': 256}, {'ability': 0, 'spin': 138, 'strike': -6, 'purity': 19, 'power': 205}]
>>> list(sorted(l, key=lambda x: x["ability"]))
[{'ability': -6, 'spin': 147, 'strike': -17, 'purity': 6, 'power': 288}, {'ability': 0, 'spin': 138, 'strike': -6, 'purity': 19, 'power': 205}, {'ability': 9, 'spin': 272, 'strike': 10, 'purity': 8, 'power': 256}, {'ability': 18, 'spin': -14, 'strike': 0, 'purity': 5, 'power': 257}]
如果sorted
是list
,则无需用python2
包裹SELECT Fiscal_Year, Month_Name, COUNT(DISTINCT CTL_NO)
FROM SOME_TABLE t
group by Fiscal_Year, Month_Name
ORDER BY Fiscal_year
, CASE TRIM(TO_CHAR(to_date(Month_Name,'Month'), 'MM'))
WHEN '10' THEN -2
WHEN '11' THEN -1
WHEN '12' THEN 0
ELSE TO_NUMBER(TO_CHAR(to_date(Month_Name,'Month'), 'MM'))
END
答案 1 :(得分:0)
sorted(data, key=lambda x: x['ability'])
输出:
{'ability': -6, 'spin': 147, 'strike': -17, 'purity': 6, 'power': 288}
{'ability': 0, 'spin': 138, 'strike': -6, 'purity': 19, 'power': 205}
{'ability': 9, 'spin': 272, 'strike': 10, 'purity': 8, 'power': 256}
{'ability': 18, 'spin': -14, 'strike': 0, 'purity': 5, 'power': 257}