arbitrary_element#
- arbitrary_element(iterable)[源代码]#
返回的任意元素
iterable
而不是把它取下来。这对于“窥探”集合中的任意元素最为有用,但也可以用于任何列表、词典等。
- 参数
- iterableAbc.集合。可迭代实例
实现以下功能的任何对象
__iter__
例如集合、字典、列表、元组等。
- 返回
- 产生的对象
next(iter(iterable))
- 产生的对象
- 加薪
- ValueError
如果
iterable
是迭代器(因为该函数的当前实现将使用迭代器中的元素)。
笔记
此函数不返回 随机 元素。如果
iterable
则顺序调用将返回相同的值::>>> l = [1, 2, 3] >>> nx.utils.arbitrary_element(l) 1 >>> nx.utils.arbitrary_element(l) 1
实例
来自常见可迭代对象的任意元素:
>>> 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
is also an Iterable:>>> nx.utils.arbitrary_element("hello") 'h'
ValueError
is raised ifiterable
is an iterator:>>> 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