专栏首页FunTesterpython使用filter方法递归筛选法求N以内的质数

python使用filter方法递归筛选法求N以内的质数

本人在学习使用Python的lambda语法的过程中,用之前求解质数的思路重写了一遍。

思路如下:就是新建一个长数组,然后从前往后递归相除去过滤后面的元素。中间对于Python语法的有了一点新的认识:看自己的代码很陌生,大概是因为写得少的原因。

下面是代码:

i = 0a = range(2, 20)
def test(sss):    global i    if i >= len(sss): return sss    re = list(filter(lambda x: True if (a[i] == x) else (x % a[i] != 0), sss))    i += 1    return test(re)

c = test(a)print(c)

下面附上Python一行代码打印心形的代码解析,把原来一行代码分拆,把循环和判断单独拿出来,看起来比较清晰了,再次感叹Python语法的强大。

  print'\n'.join([''.join( [('Love'[(x - y) % 4] if ((x * 0.05) ** 2 + (y * 0.1) ** 2 - 1) ** 3 - (x * 0.05) ** 2 * (y * 0.1) ** 3 <= 0 else ' ') for x in range(-30, 30)]) for y in range(15, -15, -1)])
    for y in range(15, -15, -1):        line = []        for x in range(-30, 30):            if ((x * 0.05) ** 2 + (y * 0.1) ** 2 - 1) ** 3 - (x * 0.05) ** 2 * (y * 0.1) ** 3 <= 0:                line.append('Love'[(x - y) % 4])            else:                line.append(" ")        l = "".join(line)        print l

成果展示:

本文分享自微信公众号 - FunTester(NuclearTester)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python使用filter方法递归筛选法求N以内的质数(素数)--附一行打印心形标记的代码解析

    本人在学习使用Python的lambda语法的过程中,用之前求解质数的思路重写了一遍。

    FunTester
  • android UiAutomator如何根据颜色判断控件的状态

    本人在用UiAutomator做测试的时候,经常会遇到一些控件因为不同的条件显示不同的颜色,在学习了UiAutomator图像处理之后,自己尝试写了一个方法来处...

    FunTester
  • 传参传的到底是什么?

    本人在封装一些基本方法的时候遇到过一个问题,我把对象当做参数传到方法里,然后在方法中对这个对象进行了一些修改,但是等我再去输出对象的值和属性时,却发现这些数据并...

    FunTester
  • python使用filter方法递归筛选法求N以内的质数(素数)--附一行打印心形标记的代码解析

    本人在学习使用Python的lambda语法的过程中,用之前求解质数的思路重写了一遍。

    FunTester
  • Python:一行代码实现的好玩的东西

    py3study
  • TiDB 源码阅读系列文章(十三)索引范围计算简介

    在数据库中处理查询请求时,如果可以尽早的将无关数据过滤掉,那么后续的算子就可以少做无用功,提升整个 SQL 的执行效率。过滤数据最常用的手段是使用索引,TiDB...

    PingCAP
  • C#/.NET 序列化和反序列化 YAML 元数据

    发布于 2018-08-12 12:44 更新于 2018-08...

    walterlv
  • 一周学习小总结,MySQL进阶~

    今天的这篇推文,是对前六天MySQL学习的一个进阶学习和小总结,前两天是端午节,大家过得如何?休息之余,不要忘记坚持学习,加油!

    DataScience
  • 机器学习必刷题-手撕推导篇(1)

    1. 算法原理 (1) 初始随机选取k个中心点; (2) 遍历每个样本,选取距离每个样本最近的中心点,归为该类; (3) 更新中心点为每类的均值; (4) 重复...

    小萌哥
  • 姚期智:量子计算只剩最后一里路;霍金:人类最好移民外太空

    李林 假装发自 北展 量子位 出品 | 公众号 QbitAI 一年一度的腾讯WE大会,今天下午正式开讲。多位中外科学领域的学者登台演讲,分享前沿的科技思想和技术...

    量子位

扫码关注云+社区

领取腾讯云代金券