I'm quite new to python, and happen to have used C# for some time now. I saw that there was a filter method to use with the collections, which seems to be the equivalent of the LINQ's where clause.
I wondered, is there also an equivalent for the LINQ's select statement in python?
Example: my_collection.select(my_object => my_object.my_property)
would return a collection of the my_property of each object in my_collection.
Asked
Active
Viewed 1.9k times
30

Alexandre Deschamps
- 1,178
- 2
- 14
- 21
-
possible duplicate of [Python's list comprehension vs .NET LINQ](http://stackoverflow.com/questions/3925093/pythons-list-comprehension-vs-net-linq) – nawfal Jul 21 '14 at 19:22
3 Answers
42
[my_object.my_property for my_object in my_collection]

Ignacio Vazquez-Abrams
- 776,304
- 153
- 1,341
- 1,358
-
6Just want to mention, for anybody finding this, the square brackets are necessary. – André C. Andersen Mar 01 '14 at 19:15
21
You can use map(), but List Comprehensions are a more "pythonic" way of doing this.

Ian Henry
- 22,255
- 4
- 50
- 61
0
try pandas!
select
C# my_collection.Select(my_object => my_object.my_property)
pandas my_collection['my_property']
or:
C# my_collection.Select(x => x.my_property + 2)
python my_collection['my_property'].apply(lambda x: x + 2)
where
C#: my_collection.Where(x => x.my_property == 1)
pandas: my_collection[my_collection['my_property']==1]

Максим Попов
- 1
- 1