【问题标题】:return only item in a `Frozenset` [duplicate]仅返回`Frozenset`中的项目[重复]
【发布时间】:2017-03-14 01:30:05
【问题描述】:

我的代码中有一个Frozenset,其中包含一个数字(例如Frozenset([5]))。我想要做的是将该值放入一个变量中。这样做的pythonic方法是什么?

由于您可以迭代 Frozenset,我已经尝试过这样做:var = next(myFrozenSet) 但它不起作用,因为 Frozenset 实际上不是迭代器。 我也试过用myFrozenSet.pop(),但这不是Frozensets的属性。

【问题讨论】:

    标签: python python-2.7


    【解决方案1】:

    您可以使用iter() function 创建一个迭代器:

    element = next(iter(some_frozen_set))
    

    这是从frozenset 中获取单个元素的最有效方法;所有其他方法都需要先创建另一个容器(如集合或列表),这比创建迭代器成本更高。

    【讨论】:

    • 在另一个地方我想反向迭代frozenset,最好的方法是先创建一个容器吗?
    • @micsthepick:集合没有顺序,因此没有正向或反向。您必须首先为元素创建一个有序容器,在此过程中进行某种排序。
    猜你喜欢
    • 1970-01-01
    • 2020-11-02
    • 2020-11-24
    • 2016-08-04
    • 2019-04-04
    • 1970-01-01
    • 2020-06-08
    • 2012-11-30
    • 2013-11-20
    相关资源
    最近更新 更多