首页 > 解决方案 > 如何对作为单个列表且嵌套列表很少的字典值元素进行排序?

问题描述

字典是这样的

some_dict={Shape:[ ["red",9,6],["blue",9,6],["green",9,6] ] }

它应该使用嵌套列表的第一个元素进行排序

some_dict={Shape:[ ["blue",9,6],["green",9,6],["red",9,6] ] }

所以字典只有一个键和一个值,即列表,并且该列表包含多个嵌套列表。

我已经做了类似的事情,但我不想删除和附加,因为它会导致项目出错。

if flag2==0:
        tempLL=sorted(tempL, key = lambda x: x[0],reverse=False)
        if flag3==1: #if only 2 elements in dict
            shapes['Circle']=[]
            flag3=0

        for x in range (0,lengthOfShape):
            shapes['Circle'].append(tempLL[x])

请注意我不应该导入任何库任何解决方案?

标签: pythonarraysdictionary

解决方案


您可以使用 pythonsorted 它可以采用一个关键参数,该参数可以指定应该对什么进行比较。

前任:

shapeList = [["red",9,6],["blue",9,6],["green",9,6]]
sorted(shapeList, key=lambda x: x[0])

结果是: [['blue', 9, 6], ['green', 9, 6], ['red', 9, 6]]

如果您尝试用更新的值修改和替换字典中的信息,您可以轻松地做到

some_dict['Shape'] = some_dict(dict['Shape'], key=lambda x: x[0])

推荐阅读