如何解决在字典数组中找到最小值
| 我有一个像下面这样的数组:people = [{\'node\': \'john\',\'dist\': 3},{\'node\': \'mary\',\'dist\': 5},{\'node\': \'alex\',\'dist\': 4}]
我想计算所有\'dist \'键的最小值。例如,在上面的示例中,答案为3。
我写了以下代码:
min = 99999
for e in people:
if e[dist] < min:
min = e[dist]
print \"minimum is \" + str(min)
我想知道是否有更好的方法来完成此任务。
解决方法
使用
min
功能:
minimum = min(e[\'dist\'] for e in people)
# Don\'t call the variable min,that would overshadow the built-in min function
print (\'minimum is \' + str(minimum))
, min(x[\'dist\'] for x in people)
, 您可以使用生成器表达式创建具有所有键的列表,然后使用内置的min函数:
min(x[\'dist\'] for x in people)
, min(people,key=lambda x:x[\'dist\'])[\'dist\']
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。