【问题标题】:Itertools.permutations returns <object> instead of list of permutationsItertools.permutations 返回 <object> 而不是排列列表
【发布时间】:2016-02-25 22:28:27
【问题描述】:

当我输入时:

import itertools
perm = itertools.permutations(List)

我明白了:

<itertools.permutations object at 0x03042630>

而不是我的排列列表。有人可以帮我获取包含所有排列的实际列表吗?

【问题讨论】:

  • 这是一个迭代器对象。您可以做的是使用 for 循环对其进行迭代,例如:for p in perm: print p

标签: python list permutation itertools


【解决方案1】:

它返回一个迭代器对象。如果要获取实际列表,可以使用list 轻松将此迭代器对象转换为列表:

import itertools

l = [1, 2, 3]
perm = list(itertools.permutations(l))

给你

[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]

【讨论】:

  • 非常感谢!我最初选择了 Coline 的回答,尽管您的解决方案也很有效。再次感谢您花时间帮助我。我对编程很陌生!
  • 好的,对我来说,您只想打印所有排列并不明显;我以为您实际上想在列表中获取所有排列...很高兴您的问题得到了解决;继续黑客攻击:)
【解决方案2】:

要遍历排列对象,您必须使用 for 循环:

import itertools
for permutation in itertools.permutations(L):
    print permutation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多