当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NetworkX arbitrary_element用法及代码示例


本文简要介绍 networkx.utils.misc.arbitrary_element 的用法。

用法:

arbitrary_element(iterable)

返回 iterable 的任意元素而不删除它。

这对于集合的任意元素处的“peeking” 最有用,但也可用于任何列表、字典等。

参数

iterableabc.collections.Iterable 实例

任何实现 __iter__ 的对象,例如集合、字典、列表、元组等

返回

next(iter(iterable)) 产生的对象

抛出

ValueError

如果 iterable 是一个迭代器(因为这个函数的当前实现会消耗迭代器中的一个元素)。

注意

此函数不返回 random 元素。如果 iterable 已排序,则顺序调用将返回相同的值:

>>> l = [1, 2, 3]
>>> nx.utils.arbitrary_element(l)
1
>>> nx.utils.arbitrary_element(l)
1

例子

来自常见 Iterable 对象的任意元素:

>>> nx.utils.arbitrary_element([1, 2, 3])  # list
1
>>> nx.utils.arbitrary_element((1, 2, 3))  # tuple
1
>>> nx.utils.arbitrary_element({1, 2, 3})  # set
1
>>> d = {k: v for k, v in zip([1, 2, 3], [3, 2, 1])}
>>> nx.utils.arbitrary_element(d)  # dict_keys
1
>>> nx.utils.arbitrary_element(d.values())   # dict values
3

str 也是一个 Iterable:

>>> nx.utils.arbitrary_element("hello")
'h'

如果 iterable 是迭代器,则会引发 ValueError

>>> iterator = iter([1, 2, 3])  # Iterator, *not* Iterable
>>> nx.utils.arbitrary_element(iterator)
Traceback (most recent call last):
    ...
ValueError: cannot return an arbitrary item from an iterator

相关用法


注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.utils.misc.arbitrary_element。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。