python之使用heapq()函数计算列表中数值大小

# heapq函数:计算列表最大几个值和最小几个值
# 语法:heapq.nlargest(n, list,[key])
# n表示最大或最小的几个; list为分析的对象; key为排序关键字,非必填

import heapq

list_num = [1, 4, 3, 2, 5]
print("最大的一个:", max(list_num))
# 求列表最大的两个
list_temp = heapq.nlargest(2, list_num)
print("最大的两个:", list_temp)

list_people = [
    {‘name‘: ‘Mike‘, ‘age‘: 22},
    {‘name‘: ‘Lee‘, ‘age‘: 25},
    {‘name‘: ‘Tom‘, ‘age‘: 33},
    {‘name‘: ‘Jack‘, ‘age‘: 41}
]
# 求最年轻的两个人
list_temp = heapq.nsmallest(2, list_people, lambda person: person[‘age‘])
print("最年轻的两个人:", list_temp)

运行结果:

最大的一个: 5
最大的两个: [5, 4]
最年轻的两个人: [{‘name‘: ‘Mike‘, ‘age‘: 22}, {‘name‘: ‘Lee‘, ‘age‘: 25}]
时间: 2024-12-15 01:53:57

python之使用heapq()函数计算列表中数值大小的相关文章

(转)Python3:sorted()函数及列表中的sort()函数

Python3:sorted()函数及列表中的sort()函数 转载请注明作者和出处:http://blog.csdn.net/u011475210 操作系统:WINDOWS 10 软件版本:python-3.6.2-amd64 编??者:WordZzzz 一.sort,sorted函数介绍: ??Sort函数是list列表中的函数,而sorted可以对list或者iterator进行排序. ??下面我们使用help来查看他们的用法及功能: sort: >>> help(list.sor

Python面试题 —— 计算列表中出现最多次的字符

给你一个其中包含不同的英文字母和标点符号的文本,你要找到其中出现最多的字母,返回的字母必须是小写形式, 当检查最想要的字母时,不区分大小写,所以在你的搜索中 "A" == "a". 请确保你不计算标点符号,数字和空格,只计算字母. 如果你找到 两个或两个以上的具有相同的频率的字母, 返回那个先出现在字母表中的字母. 例如 -- “one”包含“o”,“n”,“e”每个字母一次,因此我们选择“e”. 输入: 用于分析的文本 (str, unicode). 输出: 最常

Python List index()方法-用于从列表中找出某个值第一个匹配项的索引位置

描述 index() 函数用于从列表中找出某个值第一个匹配项的索引位置. 语法 index()方法语法: list.index(obj) 参数 obj -- 查找的对象. 返回值 该方法返回查找对象的索引位置,如果没有找到对象则抛出异常. 实例 以下实例展示了 index()函数的使用方法: #!/usr/bin/python aList = [123, 'xyz', 'zara', 'abc']; print "Index for xyz : ", aList.index( 'xyz

Python List reverse()方法-用于反向列表中元素

描述 reverse() 方法用于反向列表中元素. 语法 reverse()方法语法: list.reverse() 参数 NA. 返回值 该方法没有返回值,但是会对列表的元素进行反向排序. 实例 以下实例展示了 reverse()函数的使用方法: #!/usr/bin/python aList = [123, 'xyz', 'zara', 'abc', 'xyz']; aList.reverse(); print "List : ", aList; 以上实例输出结果如下: List

python之Counter类:计算序列中出现次数最多的元素

Counter类:计算序列中出现次数最多的元素 1 from collections import Counter 2 3 c = Counter('abcdefaddffccef') 4 print('完整的Counter对象:', c) 5 6 a_times = c['a'] 7 print('元素a出现的次数:', a_times) 8 9 c_most = c.most_common(3) 10 print('出现次数最多的三个元素:', c_most) 11 12 times_dic

python计算列表中素数的个数

1 #!/usr/bin/env python 2 # Gets the number of primes in the list 3 4 list1 = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 29] 5 # Get prime function . 6 def get_num(n): 7 count = False 8 for x in range(2,n-1): 9 if n % x == 0: 10 count = True 11 break 12 if not

sorted ()函数和列表中的sort()函数

sorted() 功能: 对List.Dict进行排序 用法: sorted(iterable, key=None, reverse=False) 参数含义: (1)iterable (2)   key参数 key指定一个接收一个参数的函数,这个函数用于从每个元素中提取一个用于比较的关键字. 例: def f(a): return len(a) (3) reverse参数 如果设置为True,列表元素将被倒序排列,默认为False 原文地址:https://www.cnblogs.com/Pyg

python四种方法实现去除列表中的重复元素

转载:https://blog.csdn.net/together_cz/article/details/76201975 def func1(one_list): ''''' 使用集合,个人最常用 ''' return list(set(one_list)) def func2(one_list): ''''' 使用字典的方式 ''' return {}.fromkeys(one_list).keys() def func3(one_list): ''''' 使用列表推导的方式 ''' tem

python使用二分法实现在一个有序列表中查找指定的元素

二分法是一种快速查找的方法,时间复杂度低,逻辑简单易懂,总的来说就是不断的除以2除以2... 例如需要查找有序list里面的某个关键字key的位置,那么首先确认list的中位数mid,下面分为三种情况: 如果 list[mid] < key,说明key 在中位数的 右边: 如果 list[mid] > key,说明key 在中位数的 左边: 如果 list[mid] = key,说明key 在中位数的中间: 范围每次缩小一半,写个while的死循环知道找到为止. 二分法查找非常快且非常常用,但