The linq module in C# has been adapted for python with some modifications.
Project description
Python Linqex
The linq module in C# has been adapted for python with some modifications.
About The Project
Provides simple to use LINQ features to Python 3.x.
Built With
Getting Started
To get a local copy up and running follow these simple example steps.
Prerequisites
Does not require any prerequisites
Installation
- Clone the repo
git clone https://github.com/TahsinCr/python-linqex.git
- Install PIP packages
pip install linqex
Usage
Let's have different customers. Let's choose the male ones among these customers. For this:
from linqex.linq import Enumerable
customersList = [
{'name' : 'Jonh', 'age' : 25, 'gender': 'male'},
{'name' : 'Emma', 'age' : 44, 'gender': 'female'},
{'name' : 'Steve', 'age' : 17, 'gender': 'male'}
]
customersEnumerable = Enumerable(customersList)
# to select only male ones:
customersMaleEnumerable = customersEnumerable.Where(lambda key, value: value['gender'] == 'male')
for customer in customersMaleEnumerable.ToList:
print(customer)
Output
{'name' : 'Jonh', 'age' : 25, 'gender': 'male'}
{'name' : 'Steve', 'age' : 17, 'gender': 'male'}
Let's develop the example we wrote above a bit further:
from typing import Literal
from linqex.linq import Enumerable
MALE = "MALE"
FEMALE = "FEMALE"
class Customer:
def __init__(self, id:int, name:str, age:int, gender:Literal["MALE","FEMALE"]):
self.id = id
self.name = name
self.age = age
self.gender = gender
customerList = [
Customer(1, "Ava", 32, MALE),
Customer(2, "Alex", 19, MALE),
Customer(3, "Amelia", 22, FEMALE),
Customer(4, "Arnold", 43, MALE),
Customer(5, "Eric", 55, MALE),
Customer(6, "Lily", 12, FEMALE),
Customer(7, "Jessia", 32, MALE),
Customer(8, "William", 19, MALE),
Customer(9, "Emily", 22, FEMALE),
Customer(10, "Mateo", 43, MALE),
Customer(11, "Antony", 55, MALE),
Customer(12, "Mia", 12, FEMALE)
]
customerEnumerable = Enumerable.List(customerList)
# to select only male ones:
customersMaleEnumerable = customerEnumerable.Where(lambda customer: customer.gender == MALE)
for customer in customersMaleEnumerable.ToList:
print(customer.__dict__)
Output
{'id': 1, 'name': 'Ava', 'age': 32, 'gender': 'MALE'}
{'id': 2, 'name': 'Alex', 'age': 19, 'gender': 'MALE'}
{'id': 4, 'name': 'Arnold', 'age': 43, 'gender': 'MALE'}
{'id': 5, 'name': 'Eric', 'age': 55, 'gender': 'MALE'}
{'id': 7, 'name': 'Jessia', 'age': 32, 'gender': 'MALE'}
{'id': 8, 'name': 'William', 'age': 19, 'gender': 'MALE'}
{'id': 10, 'name': 'Mateo', 'age': 43, 'gender': 'MALE'}
{'id': 11, 'name': 'Antony', 'age': 55, 'gender': 'MALE'}
For more examples, please refer to the Documentation
License
Distributed under the MIT License. See LICENSE.txt
for more information.
Contact
Tahsin Çirkin - @TahsinCrs - TahsinCr@outlook.com
Project Link: https://github.com/TahsinCr/python-linqex
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.