我有字典清单:
l_dict = [{'start': 2, 'length': 2, 'end': 4}, {'start': 1, 'length': 5, 'end': 8}, {'start': 3, 'length': 2, 'end': 7}, {'start': 3, 'length': 1, 'end': 3}, {'start': 2, 'length': 1, 'end': 2}, {'start': 1, 'length': 4, 'end': 5}, {'start': 1, 'length': 5, 'end': 9}, {'start': 3, 'length': 1, 'end': 3}, {'start': 1, 'length': 5, 'end': 6}, {'start': 1, 'length': 3, 'end': 3}, {'start': 1, 'length': 2, 'end': 2}, {'start': 1, 'length': 3, 'end': 5}, {'start': 4, 'length': 1, 'end': 4}, {'start': 1, 'length': 4, 'end': 4}, {'start': 1, 'length': 1, 'end': 1}, {'start': 1, 'length': 4, 'end': 6}]
如何在列表中找到“长度”最大,“开始”最小和“结束”最大的字典?
如果需要,可以按需要的属性进行排序,并采用第一个元素。
l_dict = [{'start': 2, 'length': 2, 'end': 4}, {'start': 1, 'length': 5, 'end': 8}, {'start': 3, 'length': 2, 'end': 7}, {'start': 3, 'length': 1, 'end': 3}, {'start': 2, 'length': 1, 'end': 2}, {'start': 1, 'length': 4, 'end': 5}, {'start': 1, 'length': 5, 'end': 9}, {'start': 3, 'length': 1, 'end': 3}, {'start': 1, 'length': 5, 'end': 6}, {'start': 1, 'length': 3, 'end': 3}, {'start': 1, 'length': 2, 'end': 2}, {'start': 1, 'length': 3, 'end': 5}, {'start': 4, 'length': 1, 'end': 4}, {'start': 1, 'length': 4, 'end': 4}, {'start': 1, 'length': 1, 'end': 1}, {'start': 1, 'length': 4, 'end': 6}]
l_dict_sorted = sorted(l_dict, key=lambda x: (-x['length'],x['start'],-x['end']))
l_dict_sorted
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句