当前位置: 首页 > 面试题库 >

使用itertools的Python中的Powerset

贾实
2023-03-14
问题内容

我正在尝试在Python 3中创建电源集。我找到了对该itertools
模块的引用,并且使用了该页面上提供的电源集代码。问题:代码返回对itertools.chain对象的引用,而我想访问Powerset中的元素。我的问题:如何实现?

在此先感谢您的见解。


问题答案:

itertools函数返回 迭代器
,即按需延迟生成结果的对象。

您可以通过循环遍历对象,也可以for通过调用对象将结果转换为列表list()

from itertools import chain, combinations

def powerset(iterable):
    "powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)"
    s = list(iterable)
    return chain.from_iterable(combinations(s, r) for r in range(len(s)+1))

for result in powerset([1, 2, 3]):
    print(result)

results = list(powerset([1, 2, 3]))
print(results)

您也可以将对象存储在变量中,并使用该next()函数从迭代器中逐个获取结果。



 类似资料:
  • 本文向大家介绍Python中itertools的用法详解,包括了Python中itertools的用法详解的使用技巧和注意事项,需要的朋友参考一下 iterator 循环器(iterator)是对象的容器,包含有多个对象。通过调用循环器的next()方法 (next()方法,在Python 3.x中),循环器将依次返回一个对象。直到所有的对象遍历穷尽,循环器将举出StopIteration错误。

  • 本文向大家介绍Python标准库itertools的使用方法,包括了Python标准库itertools的使用方法的使用技巧和注意事项,需要的朋友参考一下 Python标准库itertools模块介绍 itertools是python内置的模块,使用简单且功能强大,这里尝试汇总整理下,并提供简单应用示例;如果还不能满足你的要求,欢迎加入补充。 使用Python标准库itertools只需简单一句导

  • 本文向大家介绍Python中itertools模块用法详解,包括了Python中itertools模块用法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python中itertools模块用法,分享给大家供大家参考。具体分析如下: 一般来说,itertools模块包含创建有效迭代器的函数,可以用各种方式对数据进行循环操作,此模块中的所有函数返回的迭代器都可以与for循环语句以及其他包

  • 本文向大家介绍详解python itertools功能,包括了详解python itertools功能的使用技巧和注意事项,需要的朋友参考一下 介绍       itertools是python内置的模块,使用简单且功能强大,这里尝试汇总整理下,并提供简单应用示例;如果还不能满足你的要求,欢迎加入补充。       使用只需简单一句导入:import itertools chain()      

  • 本文向大家介绍Python itertools模块详解,包括了Python itertools模块详解的使用技巧和注意事项,需要的朋友参考一下 这货很强大, 必须掌握 文档 链接 http://docs.python.org/2/library/itertools.html pymotw 链接 http://pymotw.com/2/itertools/ 基本是基于文档的翻译和补充,相当于翻译了

  • 问题内容: 我是Python的新手。我正在尝试从itertools导入izip_longest。但是我无法在Python解释器的首选项中找到导入的“ itertools”。我正在使用Python 3.5.2。它给了我下面的错误- 请让我知道正确的做法。我也尝试过Python 2.7,并最终遇到了同样的问题。我是否需要使用较低版本的Python。 问题答案: 在Python 3中被 重命名 为(请注