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

有没有一种优雅的方法可以通过迭代在列表中循环N次(例如itertools.cycle但限制了循环)?

宦宏爽
2023-03-14
问题内容

我想通过迭代器重复遍历一个列表(N次),以免实际上不在内存中存储该列表的N个副本。是否有内置的或优雅的方法无需编写自己的生成器就能做到这一点?

理想情况下,itertools.cycle(my_list)将有第二个参数来限制它循环多少次……a,没有这种运气。


问题答案:

import itertools
itertools.chain.from_iterable(itertools.repeat([1, 2, 3], 5))

Itertools是一个很棒的库。:)



 类似资料:
  • 问题内容: 我知道你能做 要得到 你可以做 要得到 但是,有没有一种方法类似于第一种方法而得到与最后一种方法类似的结果? 由于我对Python的了解有限(以及文档中的一些帮助),所以我的最佳成绩是: 它并不那么冗长,但是至少我在一个(复合)语句中得到了一个自定义字符串。你能做得更好吗? 问题答案: 注意:您只需要了解列表理解或对生成器表达式的迭代 是 显式循环。

  • 问题内容: 我在做游戏,遇到一个问题…当我尝试保存时,JSON失败,并报告正在某处进行循环引用。我认为它实际上不是,我看不到它,因此是否有一种算法或其他任何方法可以告诉我确切的位置(在哪些对象和事物之间)?另外,是否有可以保存循环引用的JSON替代方案?我正在运行一个node.js服务器,我看到了,但是我无法使其正常工作(它不是作为模块组成的,我可以在我的代码中使用require())。 问题答案

  • 问题内容: 每次我必须遍历一个集合时,我都会在for-each循环的迭代开始之前检查是否为null。像这样: 有没有更短的方法,这样我们就可以避免编写“ if”块?注意:我正在使用Java 5,并且将在一段时间内使用它。 问题答案: 我猜正确的答案是:没有办法使它更短。有一些技巧,例如评论中的技巧,但我看不到自己在使用它们。我认为编写“ if”块比使用这些技术要好。是的..在任何人再次提到它之前:

  • 你有没有办法把它自动化?还有更多的方法是这样构造的。我在这里什么也不会有。这样做有意义吗,就像我想象的那样?

  • 问题内容: 我想每隔3个帖子通过XML回显图像,这是我的代码: 这是一个示例,前3个是正确的,但现在不会循环idgc.ca/web-design-samples-testing.php 问题答案: 最简单的方法是使用模数除法运算符。 工作原理:模数除法返回余数。当您为偶数倍时,余数始终等于0。 有一个陷阱:等于0。如果您的计数器从0开始,可能会导致意外结果。