python - 如何对作为单个列表且嵌套列表很少的字典值元素进行排序?
问题描述
字典是这样的
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])
请注意我不应该导入任何库任何解决方案?
解决方案
您可以使用 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])
推荐阅读
- python - Python - 如何删除文本文件中的特定行?
- python - 散点图中数据大小的问题
- javascript - 如果 .textContent 包含 X 然后单击
- swift - 返回一个值并且在同一个函数中还有一个转义参数是否被认为是不好的做法?
- python - 如何使用 Python 和 JSON 为 API POST 查询设置参数
- c# - 使用三元运算让我的代码更干净
- javascript - 使用 Webpack 5 Boilerplate 构建 Chrome 扩展时如何对其进行 chrome.runtime.reload()?
- javascript - 未关闭 MySql nodejs 上的连接导致超时 lambda AWS
- c++ - 为什么输入字符串后变量值会发生变化?
- raku - 在 raku 中连接 `s///`