当前位置: 首页 > 面试题库 >

Python Set理解

林昱
2023-03-14
问题内容

因此,我在做家庭作业时遇到了两个问题,我被困在第二个问题上。

  1. 使用Python Set Comprehension(Python等效于Set Builder表示法)来生成所有小于100的质数的集合。回想一下,质数是一个大于1的整数,并且不能被除以外的任何整数整除本身和1.将素数集存储在变量中(其他部分将需要它)。输出您的一组素数(例如,带有打印功能)。

  2. 使用Python Set Comprehension生成一组有序对(长度为2的元组),该对对由所有小于100的素数组成的素数对组成。素数对是一对都是奇数的连续奇数对。将一组素数对存储在变量中。您的第一组数字将非常有帮助。输出您的素数对集合。

对于第一个,这很完美:

r= {x for x in range(2, 101) 
if not any(x % y == 0 for y in range(2, x))}

但是,我对第二个很困惑。我认为我可能必须将set r的笛卡尔积与某些东西一起使用,但是我不确定。

这使我有点接近,但我只想要连续的对。

cart = { (x, y) for x in r for y in r
     if x < y }

问题答案:
primes = {x for x in range(2, 101) if all(x%y for y in range(2, min(x, 11)))}

我简化了测试-if all(x%y而不是if not any(not x%y

我也限制了你的范围。测试除数> sqrt(x)没有意义。因此max(x)== 100意味着max(y)==10。对于x <= 10,y也必须小于x。

pairs = {(x, x+2) for x in primes if x+2 in primes}

无需生成一对素数并对其进行测试,而是获得一个素数并查看是否存在相应的较高素数。



 类似资料:
  • 我在表中总共有8条记录,其中6条在spring批处理调用read时可以使用jpareader。现在我将页面大小和块大小设置为1以进行测试。期望作业运行时,它应该进行6次读取调用,然后它应该逐个处理,逐个写入。但实际上发生的是,它只是调用read 4次(从日志中我可以看到这样读取页面0...1)并处理4个,其中一个由于不匹配写入标准而被过滤掉,然后它只是更新了3个记录,作业标记为成功完成。

  • 我正在进行一个在线课程,其中一个问题要求我们根据列表中的索引将名称与基于以下列表和字典的关键字的理解中的工资相匹配: 期望输出: 我写了以下内容: 返回一个空集。 有人能给我一两个提示(不是代码答案)如何解决这个问题吗? 谢谢

  • 我试图通过反复阅读维基百科条目来确定我对上述原则的理解。 撇开仍然让我悲伤的协变和逆变的概念不谈,wikipedia还提到超类型的不变量必须保留在子类型和历史约束或历史规则中。基于最后两个概念,我提出了一个小例子: 所以我的问题是:基于上述两个概念,我用这个例子是否违反了原则?若否,原因为何? 事先非常感谢。

  • 英文原文:http://emberjs.com/guides/understanding-ember/managing-asynchrony/ Ember管理异步 许多Ember的概念都是用来管理异步行为的,比如绑定和计算属性。 Ember之外 本文将从使用jQuery和其他基于事件的MVC框架入手,分析管理异步行为的方法。 下面采用一个Web应用中非常普遍的异步行为作为例子,就是发起一个Ajax

  • 我在我的应用程序中使用Hibernate ORM和PostgreSQL,有时我使用批处理操作。起初我不明白为什么在批处理大小=25的日志中,会生成25个查询,起初我认为它不能正常工作。但是在那之后,我查看了pg驱动程序的源代码,在Pg语句类中发现了以下几行: 在PgPreparedStatement类中 我注意到,如果批处理的大小变为25,则会发送25个查询并附带参数。 数据库日志证实了这一点,例

  • 问题内容: 我在应用程序中使用Hibernate ORM和PostgreSQL,有时我使用批处理操作。最初,我不明白为什么在批处理大小为25的日志中,会生成25个查询,并且最初认为它无法正常工作。但是之后,我查看了pg驱动程序的源代码,并在PgStatement类中找到了以下几行: 并在PgPreparedStatement类中 我注意到,事实证明,如果批处理的大小达到25,则会发送25个带有附加

  • 本文向大家介绍深入理解jQuery 事件处理,包括了深入理解jQuery 事件处理的使用技巧和注意事项,需要的朋友参考一下 浏览器的事件模型 DOM第0级事件模型 1.Event实例 他的属性提供了关于当前正被处理的已触发事件的大量信息。这包括一些细节,比如在哪个元素上触发的事件、鼠标事件的坐标以及键盘事件中单击了哪个键。 2.事件冒泡 当触发 dom 树中一个元素上的事件时,事件模型会检查这个元

  • 本文向大家介绍深入理解C预处理器,包括了深入理解C预处理器的使用技巧和注意事项,需要的朋友参考一下 C 预处理器不是编译器的组成部分,是编译过程中一个单独的步骤。C预处理器只是一个文本替换工具,它会指示编译器在实际编译之前完成所需的预处理。 所有的预处理器命令都是以井号(#)开头。它必须是第一个非空字符,为了增强可读性,预处理器指令应从第一列开始。 下表包含所有重要的预处理器指令: 指令 描述 #