當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。