求教python大佬数组内部元素大小比较

在座的各位 14天前 9

惭愧代码能力早被工作磨没了,求教一下
  1. [{"ip": "baidu.com", "latency": 30.593333333333334}, {"ip": "zhihu.com", "latency": 38.08555555555555}, {"ip": "hostloc.com", "latency": 152.57000000000002}, {"ip": "vicho.me", "latency": 55.74555555555556}, {"ip": "mjjloc.com", "latency": 73.32333333333334}]
要求是 比较latency之间的大小,找出最小的前两个,然后找他对应的IP,
比如上述代码中,latency最小的两个分别是 30.59 和 38.08  对映的IP就是 baidu.com 和 zhihu.com
最新回复 (6)
  • cherbim 14天前
    引用 2
    先按顺序遍历数组,获得latency值,按顺序存入一个新数组,然后找到最小的两个,然后获取下标去原数组找ip地址
    以上为新手解法:
    老手解法:利用heapq,一步完成把a换成你的数组就行了,你自己改一下吧,论坛屏蔽我代码

    1. import heapq
    2. a = []
    3. small = heapq.nsmallest(2, a, key=lambda s: s["latency"])
  • Sakuya 14天前
    引用 3
    数据设为 j
    1. r = sorted(j, key=lambda x: x['latency'])
    r[0] r[1] 就是 最小的 次小的
    楼上写的都是啥玩意
  • 楼主 在座的各位 14天前
    引用 4
    cherbim 发表于 2020-11-21 00:34
    先按顺序遍历数组,获得latency值,按顺序存入一个新数组,然后找到最小的两个,然后获取下标去原数组找ip ...
    不会啊  能给个python代码不
  • Snow922841 14天前
    引用 5
    不知道怎么发代码

    结果:
  • sqliuchang 14天前
    引用 6
    冒泡排序的思路获取当前最小延迟和ip,如果有更小的就更新一下当前的最小
  • 可乐呀 14天前
    引用 7
  • 游客
    8
返回