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自动化测试实例解析
Sep 28 Python
Python兔子毒药问题实例分析
Mar 05 Python
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
Mar 30 Python
Python中exit、return、sys.exit()等使用实例和区别
May 28 Python
python实现报表自动化详解
Nov 16 Python
彻底搞懂Python字符编码
Jan 23 Python
TensorFlow变量管理详解
Mar 10 Python
Python针对给定列表中元素进行翻转操作的方法分析
Apr 27 Python
python 定义类时,实现内部方法的互相调用
Dec 25 Python
python scrapy重复执行实现代码详解
Dec 28 Python
python标识符命名规范原理解析
Jan 10 Python
Python实战之用tkinter库做一个鼠标模拟点击器
Apr 27 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
德生PL550的电路分析
2021/03/02 无线电
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
献给php初学者(入门学习经验谈)
2010/10/12 PHP
分享下页面关键字抓取components.arrow.com站点代码
2014/01/30 PHP
PHP常用函数之base64图片上传功能详解
2019/10/21 PHP
50个比较实用jQuery代码段
2011/09/18 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
自定义百度分享的分享按钮
2015/03/18 Javascript
使用CamanJS在Web页面上处理图像的技巧
2015/08/18 Javascript
Bootstrap每天必学之缩略图与警示窗
2015/11/29 Javascript
轻松掌握JavaScript装饰者模式
2016/08/27 Javascript
Vue.js实现简单动态数据处理
2017/02/13 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
2017/09/18 jQuery
canvas+gif.js打造自己的数字雨头像的示例代码
2017/10/26 Javascript
JavaScript ES6常用基础知识总结
2019/02/09 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
2020/07/22 Javascript
关于python的list相关知识(推荐)
2017/08/30 Python
windows下 兼容Python2和Python3的解决方法
2018/12/05 Python
Python魔法方法详解
2019/02/13 Python
Python 函数用法简单示例【定义、参数、返回值、函数嵌套】
2019/09/20 Python
python绘制规则网络图形实例
2019/12/09 Python
Mio Skincare中文官网:肌肤和身体护理
2016/10/26 全球购物
加拿大知名的国际儿童品牌:Hatley
2016/11/09 全球购物
佛罗里达州印第安河新鲜水果:Hale Groves
2017/02/20 全球购物
Mankind西班牙男士护肤品网站:购买皮肤护理、护发和剃须
2017/04/27 全球购物
LTD Commodities:礼品,独特发现,家居装饰,家用器皿
2017/08/11 全球购物
军神教学反思
2014/02/04 职场文书
学生党员公开承诺书
2014/05/28 职场文书
标准毕业生自荐信
2014/06/24 职场文书
幼儿园秋季开学寄语
2014/08/02 职场文书
龙门石窟导游词
2015/02/02 职场文书
中学生自我评价范文
2015/03/03 职场文书
2016年社区创先争优活动总结
2016/04/05 职场文书
详解MySQL集群搭建
2021/05/26 MySQL
vue实现Toast组件轻提示
2022/04/10 Vue.js