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中还原JavaScript的escape函数编码后字符串的方法
Aug 22 Python
Python提示[Errno 32]Broken pipe导致线程crash错误解决方法
Nov 19 Python
动感网页相册 python编写简单文件夹内图片浏览工具
Aug 17 Python
Python Json序列化与反序列化的示例
Jan 31 Python
python监控键盘输入实例代码
Feb 09 Python
Python应用库大全总结
May 30 Python
Python3.6实现带有简单界面的有道翻译小程序
Apr 16 Python
Python中pymysql 模块的使用详解
Aug 12 Python
centos7之Python3.74安装教程
Aug 15 Python
python循环嵌套的多种使用方法解析
Nov 29 Python
python中的split()函数和os.path.split()函数使用详解
Dec 21 Python
基于python制作简易版学生信息管理系统
Apr 20 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
PHP用户指南-cookies部分
2006/10/09 PHP
PHP的分页功能
2007/03/21 PHP
apache+php完美解决301重定向的两种方法
2011/06/08 PHP
md5 16位二进制与32位字符串相互转换示例
2013/12/30 PHP
php导出csv格式数据并将数字转换成文本的思路以及代码分享
2014/06/05 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
js简单实现HTML标签Select联动带跳转
2013/10/23 Javascript
JS实现Fisheye效果动感放大菜单代码
2015/10/21 Javascript
基于HTML5上使用iScroll实现下拉刷新,上拉加载更多
2016/05/21 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
2017/01/01 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
2018/02/10 Javascript
详解vue服务端渲染浏览器端缓存(keep-alive)
2018/10/12 Javascript
vue slot与传参实例代码讲解
2019/04/28 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
Python实现的计数排序算法示例
2017/11/29 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
2019/08/05 Python
Python scipy的二维图像卷积运算与图像模糊处理操作示例
2019/09/06 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
2020/01/20 Python
python动态文本进度条的实例代码
2020/01/22 Python
Python日志:自定义输出字段 json格式输出方式
2020/04/27 Python
Django form表单与请求的生命周期步骤详解
2020/06/07 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
2020/06/30 Python
中国旅游网站:同程旅游
2016/09/11 全球购物
亚马逊墨西哥站:Amazon.com.mx
2018/08/26 全球购物
小学生防溺水广播稿
2014/01/12 职场文书
中秋节礼品促销方案
2014/02/02 职场文书
小学教师师德感言
2014/02/10 职场文书
超市商业计划书
2014/05/04 职场文书
勤俭节约演讲稿
2014/05/08 职场文书
超市创意活动方案
2014/08/15 职场文书
业务员岗位职责
2015/02/03 职场文书
退休教师追悼词
2015/06/23 职场文书
2015中秋节晚会开场白
2015/07/30 职场文书
MySQL入门命令之函数-单行函数-流程控制函数
2021/04/05 MySQL
用Python爬取某乎手机APP数据
2021/06/15 Python