【发布时间】:2018-01-03 15:20:27
【问题描述】:
我一直在尝试处理存储在字典列表中的数据,并将其存储在另一个元组列表中。例如说我有以下数据:
triangles= [{"name": "triangle1", "base":3, "height":4},
{"name": "triangle2", "base":5, "height":12},
{"name": "triangle3", "base":8, "height":15}
]
我想通过以下我无法更改的函数运行所有数据:
def hypotenuse(base, height):
hyp_sq=base**2+height**2
return hyp_sq**(1.0/2.0)
理想情况下,在计算完所有数据后,我想根据三角形的斜边长度对三角形进行排序,并且我想返回以下格式的元组列表:
hypotenuse_results=[("triangle1", 5), ("triangle2", 13), ("triangle3", 17)]
我知道我必须将 map() 函数与 sorted() 结合使用,但我不知道如何仅传递与“base”和“height”键对应的值。
如果有人能指出我正确的方向,将不胜感激。
谢谢
【问题讨论】:
-
你有使用
map()吗?或者你只是认为你需要? -
我认为我需要这样做。 Map 可以让你在一个列表上运行一个函数,对吧?
标签: python list sorting dictionary list-comprehension