工具组合如何使用?

2024-10-02 16:29:38 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的代码:

import itertools
print(itertools.combinations('ABCD', 2))

我希望输出AB AC AD BC BD CD,如intertools docs, 但我得到<itertools.combinations object at 0x030A2A50>

怎么了?在


Tags: 代码importdocsabobjectcdbdad
2条回答

list_comprehensionjoin函数一起使用。在

>>> 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))将其转换为元组并强制一次生成所有值。在

相关问题 更多 >