Iterable Helpers¶
pdum.plumbum.iterops ¶
Attributes¶
__all__
module-attribute
¶
__all__ = [
"take",
"tail",
"skip",
"dedup",
"uniq",
"permutations",
"netcat",
"traverse",
"tee",
"select",
"where",
"take_while",
"skip_while",
"groupby",
"sort",
"reverse",
"t",
"transpose",
"batched",
"enumerate",
"map",
"filter",
"chain",
"chain_with",
"islice",
"izip",
]
Functions¶
dedup ¶
dedup(iterable, key=lambda x: x)
Yield only unique items from iterable by tracking seen keys.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
iterable
|
Iterable[T]
|
Source iterable to deduplicate. |
required |
key
|
Callable returning the deduplication key for each item. |
lambda x: x
|
Returns:
| Type | Description |
|---|---|
Iterator[T]
|
Iterator yielding unique items. |
netcat ¶
netcat(to_send, host, port)
Send bytes to host/port and yield responses.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
to_send
|
Iterable[bytes]
|
Iterable of byte chunks to transmit. |
required |
host
|
str
|
Target hostname. |
required |
port
|
int
|
Target port. |
required |
Returns:
| Type | Description |
|---|---|
Iterator[bytes]
|
Iterator yielding response chunks. |
permutations ¶
permutations(iterable, r=None)
skip ¶
skip(iterable, count)
tail ¶
tail(iterable, count)
take ¶
take(iterable, count)
tee ¶
tee(iterable)
traverse ¶
traverse(obj)
uniq ¶
uniq(iterable, key=lambda x: x)
Yield items from iterable removing consecutive duplicates.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
iterable
|
Iterable[T]
|
Source iterable to deduplicate. |
required |
key
|
Callable returning the comparison key for each item. |
lambda x: x
|
Returns:
| Type | Description |
|---|---|
Iterator[T]
|
Iterator yielding items without consecutive duplicates. |