intertools.combinations - 如何使用?
intertools.combinations - how to use?
这是我的代码:
import itertools
print(itertools.combinations('ABCD', 2))
我希望根据 intertools docs 输出 AB AC AD BC BD CD
,
但我得到 <itertools.combinations object at 0x030A2A50>
怎么了?
将 list_comprehension
与 join
函数一起使用。
>>> import itertools
>>> print([''.join(i) for i in itertools.combinations('ABCD', 2)])
['AB', 'AC', 'AD', 'BC', 'BD', 'CD']
>>>
它是生成器,因此只有在使用 next() 调用时才有价值。这是为了节省内存,值仅在需要时生成,因此您将 space 保存在内存中 - 一次只返回一个值。
这与 range 和 xrange 的情况相同。
使用print tuple(itertools.combinations('ABCD',2))
将其转换为元组并强制一次生成所有值。
这是我的代码:
import itertools
print(itertools.combinations('ABCD', 2))
我希望根据 intertools docs 输出 AB AC AD BC BD CD
,
但我得到 <itertools.combinations object at 0x030A2A50>
怎么了?
将 list_comprehension
与 join
函数一起使用。
>>> import itertools
>>> print([''.join(i) for i in itertools.combinations('ABCD', 2)])
['AB', 'AC', 'AD', 'BC', 'BD', 'CD']
>>>
它是生成器,因此只有在使用 next() 调用时才有价值。这是为了节省内存,值仅在需要时生成,因此您将 space 保存在内存中 - 一次只返回一个值。
这与 range 和 xrange 的情况相同。
使用print tuple(itertools.combinations('ABCD',2))
将其转换为元组并强制一次生成所有值。