Questions tagged «iterable»

一个可迭代对象是一个对象,例如字符串或集合,可以对其进行迭代,一次生成一个成员。


6
计算生成器/迭代器中项目数的最短方法是什么?
如果我希望迭代中的项目数量而不关心元素本身,那么实现该目标的Python方法是什么?现在,我将定义 def ilen(it): return sum(itertools.imap(lambda _: 1, it)) # or just map in Python 3 但我知道自己lambda几乎被认为是有害的,而且lambda _: 1肯定不是很漂亮。 (这种情况的用例是计算文本文件中与regex相匹配的行数,即grep -c。)

4
与any()函数相反
Python的内置功能any(iterable)可以帮助快速检查是否有bool(element)是True一个迭代的类型。 >>> l = [None, False, 0] >>> any(l) False >>> l = [None, 1, 0] >>> any(l) True 但是Python中是否有一种优雅的方式或函数可以实现与之相反的效果any(iterable)?也就是说,如果有bool(element) is False则返回True,如以下示例所示: >>> l = [True, False, True] >>> any_false(l) >>> True

3
Unittest的assertEqual和Iterables-仅检查内容
单元测试中是否有“体面”的方法来检查两个可迭代对象的内容是否相等?我使用了很多元组,列表和numpy数组,我通常只想测试内容而不是类型。目前,我只是在强制转换类型: self.assertEqual (tuple (self.numpy_data), tuple (self.reference_list)) 我前一段时间使用此列表理解: [self.assertEqual (*x) for x in zip(self.numpy_data, self.reference_list)] 但是该解决方案似乎不如类型转换,因为它仅在失败时打印单个值,并且对于不同长度的引用和数据也不会失败(由于zip功能)。

2
在JavaScript ES6中,可迭代和迭代器之间有什么区别?
可迭代与迭代器相同还是不同? 从规范中看来,一个可迭代对象是一个对象,例如,obj它obj[Symbol.iterator]引用一个函数,以便在被调用时返回一个对象,该对象具有next可以返回该{value: ___, done: ___}对象的方法: function foo() { let i = 0; const wah = { next: function() { if (i <= 2) return { value: (1 + 2 * i++), done: false } else return { value: undefined, done: true } } }; return wah; // wah is iterator …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.