iterable as a chain
Project description
ChIter - iterable as a chain
Requirements
- Python 3.7+
Installation
pip install chiter
Documentation
Coming soon
Why?
- Chains do not require saving the intermediate state in temporary variables
- Look more readable
Examples
It is necessary to get the sum of all numbers from the following sequence:"23,45,67\n45,56,55\n\n45,a,5\n-45,56,0"
first way
from itertools import chain
data = "23,45,67\n45,56,55\n\n45,a,5\n-45,56,0"
chunks = (chunk.split(',') for chunk in data.split())
flat_data = chain.from_iterable(chunks)
items = (int(item) for item in flat_data if not item.isalpha())
result = sum(items)
assert result == 352
second way
from itertools import chain
data = "23,45,67\n45,56,55\n\n45,a,5\n-45,56,0"
result = sum((
int(item)
for item in chain.from_iterable(map(lambda c: c.split(','), data.split()))
if not item.isalpha()
))
assert result == 352
chiter way
from chiter import ChIter as I
data = "23,45,67\n45,56,55\n\n45,a,5\n-45,56,0"
result = (I(data.split())
.map(lambda x: x.split(','))
.flat()
.filterfalse(str.isalpha)
.map(int)
.sum())
assert result == 352
Related Libraries
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
chiter-1.0.0a2.tar.gz
(4.4 kB
view details)
Built Distribution
File details
Details for the file chiter-1.0.0a2.tar.gz
.
File metadata
- Download URL: chiter-1.0.0a2.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.16 CPython/3.7.3 Linux/5.0.0-15-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cdbcb69169cafe78e33a261c2bb3843b8bedcebb79dcd3bea640dc4d4a407880 |
|
MD5 | bf6bd8a299807f7b794fb6192551d383 |
|
BLAKE2b-256 | 0fd5caf2c5532f00822fac5960c42c32ab92bd1351b0113a8821c0228a149cd8 |
File details
Details for the file chiter-1.0.0a2-py3-none-any.whl
.
File metadata
- Download URL: chiter-1.0.0a2-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.16 CPython/3.7.3 Linux/5.0.0-15-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56d405513a37ffe12d1b8030d7b2aeb3d9df314e311afb5fd3e8d1fa12100331 |
|
MD5 | aa0033193af3c18bdf0948e19fec0816 |
|
BLAKE2b-256 | bd99dbeef784bcebe1c27080ac3a39c4b5caaa7fa17fb51eb11c4e7473fa7958 |