56得票3回答
如何将itertools.product应用于列表中的列表元素?

我有一个数组列表,想要获取它们元素的笛卡尔积。 为了更加具体,我将使用一个例子... 看起来itertools.product可以实现,但是我遇到了一些小问题。arrays = [(-1,+1), (-2,+2), (-3,+3)]; 如果我这样做cp = list(itertools.p...

49得票6回答
在Python中使用zip迭代器断言长度相等

我正在寻找一种美好的方式来zip多个可迭代对象,并在可迭代对象长度不相等时引发异常。 如果可迭代对象是列表或具有len方法,则此解决方案干净简单:def zip_equal(it1, it2): if len(it1) != len(it2): raise ValueE...

48得票2回答
itertools.cycle().next()?

我曾经在Python 2.6.6中使用itertools.cycle().next()方法,但现在我更新到3.2后发现itertools.cycle()对象没有next()方法。 我在Spinner类的spin()方法中使用它来循环一个字符串。所以如果我们循环元组('|', '/', '-'...

41得票6回答
我在Python 3的itertools中找不到imap()函数。

我想用itertools.imap()解决一个问题。我已经导入了itertools并调用了itertools.imap(),但显然itertools没有imap属性。出了什么问题?>>> import itertools >>> dir(itertools)...

38得票1回答
Python 3中,模块'itertools'没有'ifilter'属性。

我是Python的新手,正在尝试将一个旧的Python文件构建为Python 3。我遇到了几个编译错误,但我已经解决了它们。但是在这一点上,我遇到了以上的错误。我不知道该如何解决这个问题。代码部分看起来像下面这样。return itertools.ifilter(lambda i: i.sta...

35得票4回答
itertools.permutations() 为什么返回一个列表而不是字符串?

为什么itertools.permutations()返回每个排列的字符或数字列表,而不是直接返回一个字符串? 例如:>>> print([x for x in itertools.permutations('1234')]) >>> [('1', '2'...

35得票6回答
Python的itertools.repeat的目的是什么?

对于我能想到的Python itertools.repeat() 类的每个用途,我都可以想到另一个同样(可能更)可接受的解决方案来实现相同的效果。例如:>>> [i for i in itertools.repeat('example', 5)] ['example', 'e...

31得票3回答
itertools.accumulate() 与 functools.reduce() 的区别

在Python 3.3中,itertools.accumulate()通常会对提供的可迭代对象重复应用加法运算,现在可以接受一个函数参数作为参数; 这意味着它现在与functools.reduce()有一些重叠。初步看起来,两者之间的主要区别似乎是: accumulate()默认进行求和操...

30得票3回答
itertools.groupby()不能正确分组

我有这些数据: self.data = [(1, 1, 5.0), (1, 2, 3.0), (1, 3, 4.0), (2, 1, 4.0), (2, 2, 2.0)] 当我运行以下...

30得票2回答
Python 3.5.2中无法导入itertools

我是Python新手。我正在尝试从itertools中导入izip_longest。但我在Python解释器的首选项中找不到导入"itertools"。我正在使用Python 3.5.2版本。它给了我以下错误-from itertools import izip_longest ImportE...