Tag: itertools

itertools中的chain和chain.from_iterable有什么区别?

我在互联网上找不到任何有效的例子,我可以看到他们之间的差异,以及为什么select一个。

具有独特价值的排列

itertools.permutations生成的地方,其元素被视为唯一的基础上他们的立场,而不是他们的价值。 所以基本上我想避免这样的重复: >>> list(itertools.permutations([1, 1, 1])) [(1, 1, 1), (1, 1, 1), (1, 1, 1), (1, 1, 1), (1, 1, 1), (1, 1, 1)] 之后过滤是不可能的,因为在我的情况下,排列的数量太大了。 有人知道一个合适的algorithm吗? 非常感谢你! 编辑: 我基本想要的是以下几点: x = itertools.product((0, 1, 'x'), repeat=X) x = sorted(x, key=functools.partial(count_elements, elem='x')) 这是不可能的,因为sorted创build一个列表和itertools.product的输出是太大了。 对不起,我应该描述实际的问题。

什么时候使用zip而不是izip更好?

什么时候使用zip代替itertools.izip更好?

Windows许可证密钥的所有排列组合

我需要为我的笔记本电脑申请Windows 8升级,为此我需要笔记本电脑底部的Windows 7许可证密钥。 由于微软决定用无限的智慧来创build许可证标签,而且我无法清楚地读取许可证密钥,这意味着我无法使用自动化stream程注册我的笔记本电脑。 通过把笔记本电脑放在一个angular度,我已经能够validation大部分的代码,但几个字母是模棱两可的(再次感谢微软在标签中使用容易误读的字符)。 我有以下(混淆)的许可证密钥, MPP6R-09RXG-2H[8B]MT-[B8]K[HN]M9-V[6G]C8R 其中方括号中的字符不明确,因此它是8或B , B或8 , H或N , 6或G 制作16个组合。 使用itertools生成这个许可密钥的可能排列是否合适?还是有更好的方法? 我得到了正确的答案,感谢贡献者。 检查密钥是否有效的一种非常方便的方法是使用Windows 7产品密钥检查器 。

itertools产品加速

我使用itertools.product来生成长度为13的4个元素的所有可能的变化。4和13可以是任意的,但是,实际上,我得到4 ^ 13个结果,这是很多的。 我需要结果作为一个Numpy数组,目前做到以下几点: c = it.product([1,-1,np.complex(0,1), np.complex(0,-1)], repeat=length) sendbuf = np.array(list(c)) 有了一些简单的剖析代码,它看起来像第一行几乎是瞬间的,而转换到列表然后Numpy数组需要大约3个小时。 有没有办法让这个更快? 这很可能是我忽视的一些事情。 谢谢!

Python如何一次读取N行

我正在写一个代码,一次获取一个巨大的文本文件(几GB)N行,处理该批处理,并移动到下一个N行,直到完成整个文件。 (我不在乎最后一批是不是完美的大小)。 我一直在阅读关于使用itertools islice这个操作。 我想我在这里一半: from itertools import islice N = 16 infile = open("my_very_large_text_file", "r") lines_gen = islice(infile, N) for lines in lines_gen: …process my lines… 麻烦的是,我想处理下一批16行,但我错过了一些东西