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 相关文章推荐
Pycharm学习教程(7)虚拟机VM的配置教程
May 04 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
May 02 Python
python模块smtplib实现纯文本邮件发送功能
May 22 Python
Python列表生成式与生成器操作示例
Aug 01 Python
pytorch permute维度转换方法
Dec 14 Python
利用python实现短信和电话提醒功能的例子
Aug 08 Python
Python @property使用方法解析
Sep 17 Python
Python 异常的捕获、异常的传递与主动抛出异常操作示例
Sep 23 Python
python基于TCP实现的文件下载器功能案例
Dec 10 Python
13个Pandas实用技巧,助你提高开发效率
Aug 19 Python
详解Pycharm第三方库的安装及使用方法
Dec 29 Python
Python使用BeautifulSoup4修改网页内容
May 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
制作美丽的拉花
2021/03/03 冲泡冲煮
PHP输出控制功能在简繁体转换中的应用
2006/10/09 PHP
php的access操作类
2008/04/09 PHP
php cookie的操作实现代码(登录)
2010/12/29 PHP
浅析PHP 按位与或 (^ 、&)
2013/06/21 PHP
php数组去重复数据示例
2014/02/25 PHP
smarty简单分页的实现方法
2014/10/27 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
php 判断页面或图片是否经过gzip压缩的方法
2017/04/05 PHP
javascript内存管理详细解析
2013/11/11 Javascript
js预加载图片方法汇总
2015/06/15 Javascript
JS实现的表格行鼠标点击高亮效果代码
2015/11/27 Javascript
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
2016/01/19 Javascript
jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)
2016/04/18 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
react.js 翻页插件实例代码
2017/01/19 Javascript
Bootstrap面板(Panels)的简单实现代码
2017/03/17 Javascript
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
微信小程序实战篇之购物车的实现代码示例
2017/11/30 Javascript
使用Vue组件实现一个简单弹窗效果
2018/04/23 Javascript
JS控制GIF图片的停止与显示
2019/10/24 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
vue中实现拖动调整左右两侧div的宽度的示例代码
2020/07/22 Javascript
nuxt 每个页面head标签内容设置方式
2020/11/05 Javascript
Vue用mixin合并重复代码的实现
2020/11/27 Vue.js
Python使用matplotlib的pie函数绘制饼状图功能示例
2018/01/08 Python
Python实现多态、协议和鸭子类型的代码详解
2019/05/05 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
2020/04/08 Python
python中关于数据类型的学习笔记
2020/07/19 Python
python 基于opencv去除图片阴影
2021/01/26 Python
法国创作个性化T恤衫和其他定制产品平台:Tostadora
2018/04/08 全球购物
.NET remoting中对象激活的两种方式
2015/06/08 面试题
网上祭英烈活动总结
2015/02/04 职场文书
清明节文明祭祀倡议书
2015/04/28 职场文书
2016年大学生党员公开承诺书
2016/03/24 职场文书
使用CSS实现音波加载效果
2023/05/07 HTML / CSS