Python一句代码实现找出所有水仙花数的方法


Posted in Python onNovember 13, 2018

水仙花数是指一个 3位正整数,它的每个位上的数字的 3 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)

下面用一句代码实现找出所有的水仙花数:

方法一:

>>> 
>>> a = list(map(lambda x: x[1], filter(lambda x: x[0], [(i*100+j*10+k == i**3+j**3+k**3, i**3+j**3+k**3) for i in range(1, 10) for j in range(0, 10) for k in range(0, 10)])))
>>> print(a)
[153, 370, 371, 407]
>>>

说明:

上面的代码可以分解三句代码:

a = [(i*100+j*10+k == i**3+j**3+k**3, i**3+j**3+k**3) for i in range(1, 10) for j in range(0, 10) for k in range(0, 10)]
b = filter(lambda x: x[0], a)
c = list(map(lambda x: x[1], b))

第一句表示用列表推到遍历所有的三位数,每个数都打上标记,是水仙花数着标记True,不是则标记False,标记和数放到一个元祖:(flag, value),所有元组放在一个list结构里。

第二句表示筛选出标记为True的元组。

第三句表示把第一句筛选出来的元组的第二个值放到list结构里。

加上print语句,执行一遍上面三句代码即可明白。

方法二:

只用列表推导。

>>> a = [i**3+j**3+k**3 for i in range(1, 10) for j in range(0, 10) for k in range(0, 10) if i*100+j*10+k == i**3+j**3+k**3]
>>> print(a)
[153, 370, 371, 407]
>>>

以上这篇Python一句代码实现找出所有水仙花数的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python ddt实现数据驱动
Mar 14 Python
Python在groupby分组后提取指定位置记录方法
Apr 20 Python
python实现微信防撤回神器
Apr 29 Python
python实现合并多个list及合并多个django QuerySet的方法示例
Jun 11 Python
Django Haystack 全文检索与关键词高亮的实现
Feb 17 Python
Pytest框架之fixture的详细使用教程
Apr 07 Python
有趣的Python图片制作之如何用QQ好友头像拼接出里昂
Apr 22 Python
浅谈Python中的字符串
Jun 10 Python
关于Python字符编码与二进制不得不说的一些事
Oct 04 Python
pycharm2021激活码使用教程(永久激活亲测可用)
Mar 30 Python
python之json文件转xml文件案例讲解
Aug 07 Python
python计算列表元素与乘积详情
Aug 05 Python
python简易实现任意位数的水仙花实例
Nov 13 #Python
python找出完数的方法
Nov 12 #Python
python 获取一个值在某个区间的指定倍数的值方法
Nov 12 #Python
浅谈Python的list中的选取范围
Nov 12 #Python
python scipy求解非线性方程的方法(fsolve/root)
Nov 12 #Python
Django-Rest-Framework 权限管理源码浅析(小结)
Nov 12 #Python
使用python将时间转换为指定的格式方法
Nov 12 #Python
You might like
隐藏Nginx或Apache以及PHP的版本号的方法
2016/01/03 PHP
PHP实现的进度条效果详解
2016/05/03 PHP
Laravel 5.3 学习笔记之 安装
2016/08/28 PHP
老生常谈PHP面向对象之注册表模式
2017/05/26 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
分享几个超级震憾的图片特效
2012/01/08 Javascript
jQuery选择器全面总结
2014/01/06 Javascript
jquery操作复选框(checkbox)的12个小技巧总结
2014/02/04 Javascript
在JS数组特定索引处指定位置插入元素
2014/07/27 Javascript
Javascript闭包用法实例分析
2015/01/23 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
跟我学习javascript的var预解析与函数声明提升
2015/11/16 Javascript
理解javascript闭包
2015/12/15 Javascript
微信公众号 摇一摇周边功能开发
2016/12/08 Javascript
JavaScript实现焦点进入文本框内关闭输入法的核心代码
2017/09/20 Javascript
js纯前端实现腾讯cos文件上传功能的示例代码
2019/05/14 Javascript
layui表格内容溢出的解决方法
2019/09/06 Javascript
使用jQuery实现掷骰子游戏
2019/10/24 jQuery
实例分析JS中的相等性判断===、 ==和Object.is()
2019/11/17 Javascript
Webpack中SplitChunksPlugin 配置参数详解
2020/03/24 Javascript
前端如何实现动画过渡效果
2021/02/05 Javascript
pygame学习笔记(6):完成一个简单的游戏
2015/04/15 Python
python链接oracle数据库以及数据库的增删改查实例
2018/01/30 Python
Python实现接受任意个数参数的函数方法
2018/04/21 Python
Python中浅拷贝copy与深拷贝deepcopy的简单理解
2018/10/26 Python
python网络爬虫 CrawlSpider使用详解
2019/09/27 Python
台湾7-ELEVEN线上购物中心:7-11
2021/01/21 全球购物
求职自荐信范文格式
2013/11/29 职场文书
数学系个人求职信范文
2014/01/30 职场文书
社区优秀志愿者材料
2014/02/02 职场文书
大学生学期自我鉴定
2014/03/19 职场文书
亲子活动总结
2014/04/26 职场文书
幼儿园六一活动总结
2014/08/27 职场文书
入党积极分子考察意见
2015/06/02 职场文书
2016年度农村党员干部主题教育活动总结
2016/04/06 职场文书