python - 在python中合并两个排序的项目列表
问题描述
我的问题与找出合并 2 个已排序项目的不同方法有关吗?我试图找到一种简单的方法来合并 2 个已排序的项目。
def merge(arr1, arr2):
return sorted(arr1 + arr2)
# Example: merge([1, 4, 7], [2, 3, 6, 9]) => [1, 2, 3, 4, 6, 7, 9]
我不确定我是否让事情复杂化。这使用了一个内置函数,这意味着更难搞乱实现细节。
我还发现我可以使用cypthon 的 heapq中的 merge() 函数。
想知道是否有任何使用其他方法的想法,如下所示:
解决方案
从 heapq使用合并
>>> l1 = [1, 4, 7]
>>> l2 = [2, 3, 6, 9]
>>> from heapq import merge
>>> list(merge(l1,l2))
[1, 2, 3, 4, 6, 7, 9]
推荐阅读
- calculated-columns - 如何在 Spotfire 中的几个月之间捕获新用户/不同用户的列表
- express - 有没有办法在 Nestjs 应用程序中实现 CASAuthentication?
- python - 将字符串转换为数组列表
- amazon-web-services - AWS Cognito 代码示例——检查应用程序 ID
- javascript - 浏览器中的 mssql 引用错误,但代码可从终端(node.js、javascript、mssql)运行
- r - 如何在R中字符串的某个位置之后添加双引号
- amazon-web-services - Cloudfront Distribution S3 日志记录不起作用
- objective-c - 通过比较文件大小确定 NSProgressIndicator (Bar) 增量
- audio - 背景音频不适用于 Safari“添加到主屏幕”
- apache-pig - Apache Pig ORDER 比 LIMIT 返回 null