2024-10-02 16:29:38 发布
网友
这是我的代码:
import itertools print(itertools.combinations('ABCD', 2))
我希望输出AB AC AD BC BD CD,如intertools docs, 但我得到<itertools.combinations object at 0x030A2A50>
AB AC AD BC BD CD
<itertools.combinations object at 0x030A2A50>
怎么了?在
将list_comprehension与join函数一起使用。在
list_comprehension
join
>>> import itertools >>> print([''.join(i) for i in itertools.combinations('ABCD', 2)]) ['AB', 'AC', 'AD', 'BC', 'BD', 'CD'] >>>
它是生成器,因此它只有在使用next()调用时才有值。这是为了节省内存,只有在需要时才会生成值,这样可以节省内存中的空间—一次只返回一个值。在
这和range和xrange是一样的。在
使用print tuple(itertools.combinations('ABCD',2))将其转换为元组并强制一次生成所有值。在
print tuple(itertools.combinations('ABCD',2))
将
list_comprehension
与join
函数一起使用。在它是生成器,因此它只有在使用next()调用时才有值。这是为了节省内存,只有在需要时才会生成值,这样可以节省内存中的空间—一次只返回一个值。在
这和range和xrange是一样的。在
使用
print tuple(itertools.combinations('ABCD',2))
将其转换为元组并强制一次生成所有值。在相关问题 更多 >
编程相关推荐