Image credit Hi there! Thought I'd give a big hi today in apologies for the lack of length that this blog post has in comparison with my somewhat hectic previous one. I can't consistently keep banging out blog posts that long though, I'm pretty busy. So, List Comprehensions Moving right along I have learnt how to use a fantastic paradigm in python for creating lists based on other lists called list comprehensions. Take the following:
A list of numbers
old_list = [1,2,3,4,5,6,7,8,9,10]
Create a new list
new_list = []
Iterate through previous list and add only the even numbers to the new list.
for number in old_list: if number % 2 == 0: new_list.append(number) Cool! So obviously what we are trying to do here is extract the even numbers from the old list. So lets try that out using list comprehensions:
A list of numbers
old_list = [1,2,3,4,5,6,7,8,9,10] new_list = [number for number in old_list if number % 2 == 0] Would you look at that? The new list creation is now a one liner! Awesome, so how does it work? Glad you asked. So, as the name suggests, python is capable of 'comprehending' lists in a simplified way that makes reading a breeze (once you get used to it). A basic format might be something like: list = [ITEM FROM ORIGINAL LIST for ITEM FROM ORIGINAL LIST in ORIGINAL LIST] Alternatively, you could swing in the opposite direction and just go to town on the conditions and chain if statements like so: new_list = [number for number in old_list if number > 1 if number < 3] result: [2] That's all for this week! Like I said, short and sweet today. Tune in next week for some more geek talk!