全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

如何用itertools解决无序排列组合的问题

最近我作为Python菜鸟一枚开始征战Codewars,所以打算在这里记下遇到的有意思的题目。今天这第一题叫做“Best Travel”:

John和Mary计划去一些小镇旅行。Mary已经列好了这些小镇之间的距离比如ls=[50, 55, 57, 58, 60]。但是John不想开车太累,所以提出了两个要求:1) 开车不超过某个距离比如t=174 miles 2) 只能去3个小镇。

选择哪3个小镇可以让John和Mary都满意呢?(即找到距离之和最接近或等于t的3个小镇)

这道题目可以抽象成:

输入一个整数列表ls和整数t:

1. 找出从ls中任取三个元素的所有组合

2. 计算每个组合的三个元素之和

3. 如果存在小于或等于t的和,那么从中挑出最大的,然后输出这个最大和对应的三元素组合

4. 如果不存在,只好返回None

实现要点:

1. 无序排列组合:

用itertools模块的combinations方法

2. 求和:

用sum函数

3. 求最大值:

用max函数

4. 捕获异常:

用try-except

借用这一题的某个best solution, 实现代码为:

def choose_best_sum(t, k, ls):
  import itertools

  try:
    return max(sum(combination) for combination in itertools.combinations(ls, k) if sum(combination) <= t)
  except:
    return None

以上这篇如何用itertools解决无序排列组合的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# 无序排列组合  # python 排列组合之itertools  # 给大家  # 排列组合  # 这一  # 在这里  # 好了  # 菜鸟  # 提出了  # 希望能  # 不存在  # 不超过  # 这篇  # 一枚  # 这道  # 小编  # 太累  # 如何用  # 大家多多  # 大和  # 有意思  # 划去 


相关文章: 建设网站制作价格,怎样建立自己的公司网站?  定制建站流程步骤详解:一站式方案设计与开发指南  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  建站之家VIP精选网站模板与SEO优化教程整合指南  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  如何高效配置IIS服务器搭建网站?  制作证书网站有哪些,全国城建培训中心证书查询官网?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  如何快速搭建FTP站点实现文件共享?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  如何选择高性价比服务器搭建个人网站?  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  盘锦网站制作公司,盘锦大洼有多少5G网站?  javascript中对象的定义、使用以及对象和原型链操作小结  制作网页的网站有哪些,电脑上怎么做网页?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  javascript基本数据类型及类型检测常用方法小结  如何选择高效响应式自助建站源码系统?  制作企业网站建设方案,怎样建设一个公司网站?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  css网站制作参考文献有哪些,易聊怎么注册?  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  如何通过.red域名打造高辨识度品牌网站?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何在阿里云虚拟主机上快速搭建个人网站?  建站之星如何实现五合一智能建站与营销推广?  html制作网站的步骤有哪些,iapp如何添加网页?  如何在建站主机中优化服务器配置?  公司门户网站制作流程,华为官网怎么做?  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  郑州企业网站制作公司,郑州招聘网站有哪些?  三星网站视频制作教程下载,三星w23网页如何全屏?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  制作农业网站的软件,比较好的农业网站推荐一下?  如何撰写建站申请书?关键要点有哪些?  宝华建站服务条款解析:五站合一功能与SEO优化设置指南  建站主机助手选型指南:2025年热门推荐与高效部署技巧  建站DNS解析失败?如何正确配置域名服务器?  已有域名和空间,如何快速搭建网站?  建站之星CMS五站合一模板配置与SEO优化指南  如何快速选择适合个人网站的云服务器配置?  如何快速启动建站代理加盟业务?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  如何快速搭建二级域名独立网站?  如何用好域名打造高点击率的自主建站?  怎么将XML数据可视化 D3.js加载XML  PHP正则匹配日期和时间(时间戳转换)的实例代码 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。