python技巧——使用list comprehension生成素数(prime number)
2015-11-24 20:47
633 查看
使用list comprehension的目的是构建(construct)一个list
使用一次list comprehension,构建一个非素数
再使用一次list comprehension,获得素数
当然,也可以对
也即避免了
使用一次list comprehension,构建一个非素数
再使用一次list comprehension,获得素数
>>> import math >>> noprimes = [j for i in range(2, int(math.sqrt(100))) for j in range(2*i, 100, i)] >>> primes = [x for x in range(2, 100) if x not in noprimes]
当然,也可以对
list comprehension进行嵌套,比如这样:
>>> primes = [x for x in range(2, 11) if x not in [j for i in range(2, 11) for j in range(2*i, 100, i)]]
也即避免了
noprimes中间变量的产生,然而这样做使得一条语句变得又长又不便于阅读,出于可读性的考虑,这样的做法并不推荐。
相关文章推荐
- Python实现SYN Flood攻击
- Python中遇到的错误(随时更新)
- Linear Regression 实现 (Python)
- python requests做接口测试对json的处理
- Python 抓取解析HTML
- 最近百度云盘不提供搜索,闲来无事,玩玩python爬虫,爬一下百度云盘的资源
- 爬取乌云上所有人民币和乌云符号的漏洞(python脚本)
- python中os.open,报错:No such file or directory:
- Python删除文档中含关键字的行
- 用python 写贪吃蛇AI算法
- python 装饰器
- 用PYTHON硬写SOCKET
- Python 性能分析入门指南
- Python一般错误
- [python]python元类
- python3中map的问题
- 【详解】Python写入Excel数据表
- Python 二维数组初始化
- windows下python科学计算包numpy无脑安装
- python基础一