为了账号安全,请及时绑定邮箱和手机立即绑定

是否itertools.permutations总是返回已排序的对象?

是否itertools.permutations总是返回已排序的对象?

catspeake 2021-04-08 14:15:24
我的问题要求我遍历10个很大的排列!(或更大)排列:a = itertools.permutation(range(10))我的输入范围将始终是range(x)的形式,虽然我几乎在所有情况下都看到a按字典顺序对排列进行迭代的情况,即a[0] = (0,1,2,3,4,5,6,7,8,9)a[1] = (0,1,2,3,4,5,6,7,9,8)等等。这总是保证吗?我不想明确地对其进行排序 a = sorted(itertools.permutation(range(10)))因为它将转换为<class 'itertools.permutations'>,<class 'list'>这意味着python将尝试分配大量的内存,我想避免这种情况。例如a = itertools.permutations([1,2,3,4,5,6,7,8,9])sys.getsizeof(a)输出 232b = sorted(a)sys.getsizeof(b)输出3215232如果这不能保证,那有什么选择呢?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 160 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信