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根据经纬度计算距离示例
Feb 16 Python
python交互式图形编程实例(二)
Nov 17 Python
Django 2.0版本的新特性抢先看!
Jan 05 Python
Linux(Redhat)安装python3.6虚拟环境(推荐)
May 05 Python
Python中利用aiohttp制作异步爬虫及简单应用
Nov 29 Python
使用Python做定时任务及时了解互联网动态
May 15 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
Aug 08 Python
Python字符串大小写转换拼接删除空白
Sep 19 Python
CentOS7下安装python3.6.8的教程详解
Jan 03 Python
解决pycharm中导入自己写的.py函数出错问题
Feb 12 Python
python 等差数列末项计算方式
May 03 Python
python如何处理程序无法打开
Jun 16 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返回json数据函数实例
2014/10/09 PHP
PHP的全局错误处理详解
2016/04/25 PHP
PHP实现支持加盐的图片加密解密
2016/09/09 PHP
php中引用&的用法分析【变量引用,函数引用,对象引用】
2016/12/12 PHP
响应鼠标变换表格背景或者颜色的代码
2009/03/30 Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
2013/05/07 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
js进行表单验证实例分析
2015/02/10 Javascript
javascript中for/in循环及使用技巧
2015/09/01 Javascript
基于Jquery代码实现手风琴菜单
2015/11/19 Javascript
浅谈JavaScript 中有关时间对象的方法
2016/08/15 Javascript
react性能优化达到最大化的方法 immutable.js使用的必要性
2017/03/09 Javascript
jQuery简易时光轴实现方法示例
2017/03/13 Javascript
Three.js加载外部模型的教程详解
2017/11/10 Javascript
10个经典的网页鼠标特效代码
2018/01/09 Javascript
详解webpack4之splitchunksPlugin代码包分拆
2018/12/04 Javascript
在Vant的基础上实现添加表单验证框架的方法示例
2018/12/05 Javascript
你可能不知道的CORS跨域资源共享
2019/03/13 Javascript
js实现的订阅发布者模式简单示例
2020/03/14 Javascript
[52:08]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第一局
2016/03/05 DOTA
Python open读写文件实现脚本
2008/09/06 Python
Python写的服务监控程序实例
2015/01/31 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
2019/02/21 Python
使用Python 自动生成 Word 文档的教程
2020/02/13 Python
python如何停止递归
2020/09/09 Python
Python Spyder 调出缩进对齐线的操作
2021/02/26 Python
佳能德国网上商店:Canon德国
2017/03/18 全球购物
应届生英语教师求职信
2013/11/05 职场文书
小学信息技术教学反思
2014/02/10 职场文书
白莲教口号
2014/06/18 职场文书
家具公司总经理岗位职责
2014/07/08 职场文书
学校党支部承诺书
2015/04/30 职场文书
初中团委工作总结
2015/08/13 职场文书
《自然之道》读后感3篇
2019/12/17 职场文书
解决tk mapper 通用mapper的bug问题
2021/06/16 Java/Android