read.cash Log in
@lonestranger more from that month

3 Types of Comprehension in Python Since day 1, listening in our CS3 subject makes me very sleepy despite our teachers excellent way of teaching. You can easily tell that this field is his specialty from how calm he teaches just like a friend having a simple conversation with you. I always force myself to listen as the class starts but will always end up sleeping or browsing on Facebook minutes after. The longest I've stayed so far was an hour of listening because I just liked to. Today, I realized that my set up is one of the greatest reasons why I seldomly listen. **I always lie in bed while he's discussing** because I don't have a table in my room. I do sit sometimes but will lie down later on. So of course, I could really sleep in that position haha. My sister and I fought a little which made me stay in the living room where there's a long table and chairs. I sat there and positioned my phone, got my pen and yellow paper then encouraged myself to listen as my classmates did too. We've discussed today the list comprehension, dictionary comprehension, and set comprehension in python programme then compared it using for loop. Comprehension in python is accordingly a short and concise way that enables us to construct new sequences with use of sequences itself which have already been defined.

I wasn't able to understand the list comprehension part because my mother came and ate there while having a random conversation with my father. I easily got distracted by a simple commotion while focusing on something so I was absolutely thankful that they finished so soon. In the dictionary comprehension, the structure when we define a variable is: **output_dict ={key: value for (key, value) in iterable if (key, value satisfy this condition)}** He demonstrated first the used of for loop. Whenever we try to get to the cube root of numbers, create an empty set first and this is the example given below. USING FOR LOOP **input_list = [1,2,3,4,5,6,7]** **output_dict= {}** Then, **for y in input_list:** **output_dict[y] = y**3** **print (f"Output dictionary using for loop: {output_dict}")** The programme then will run and give you the outputs **1, 8,27,64,125,216,343**. But if you'd only want to get the outputs of odd numbers, insert if **y % 2 == 1:** where % is called modulo which will check if the number is even while == is an equal sign. We can't use the usual = sign as the programme will run error given that we've already use it. With that, the new formula then will become: **for y in input_list:** **if y % 2 == 1:** **output_dict[y] = y**3** **print (f"Output dictionary using for loop: {output_dict}")** As you can see, we'll have 5 lines in using for loop excluding when it's conditional. USING DICTIONARY COMPREHENSION When we use dictionary comprehension, 3 lines will suffice with the use of the formula I've mentioned: **output_dict ={key: value for (key, value) in iterable if (key, value satisfy this condition)}** It will look like this: **input_list = [1,2,3,4,5,6,7]** **output_dict= {y:y**3 for y in input_list}** **print(f"Output dictionary using dictionary comprehension:{output_dict}")** The output then will be, **Output dictionary using dictionary comprehension: {******1, 8,27,64,125,216,343}**** Another example looked like this one below which I missed his explanations because I spaced out haha. **country = ["Philippines", "Japan", "France"]** **capital_city = ["Manila", "Tokyo", "Paris"]** USING FOR LOOP When we use for loop, we still have to put an empty set and it would look like this: **output_dict = {}** **for (key, value) in zip(country, capital_city)** **output_dict[key] = value** **print (f"Output Dictionary using for loop: {output_dict}.")** It will give then the capital of the countries given above. USING DICTIONARY COMPREHENSION Applying the likely given formula, we have: **country = ["Philippines", "Japan", "France"]** **capital_city = ["Manila", "Tokyo", "Paris"]** **output_city = {x:y for (x,y) in zip (country, capital _city}** **print(f"Output Dictionary using dictionary comprehension: {output_dict}.")** However, if it is conditional like when you only want to get the output of those countries that have 6 or less than characters, add **if len (x) <=6:** . In using for loop, add it in between: **for (key, value) in zip(country, capital_city)** ****if len(x) <=6:**** **output_dict[key] = value** In using dictionary comprehension, add here: **output_city = {x:y for (x,y) in zip (country, capital _city** ****if len(x) <=6:******}** But if it is compound like when you only want to get an output of 5 characters, add **len (y)<5** after **if len(x) <=6:** . Lastly, is the set comprehension. I'll only be putting the examples. input_list = [1,2,2,3,3,4,4,4,5,5,6,7,8,8] USING FOR LOOP **input_list = [1,2,2,3,3,4,4,4,5,5,6,7,8,8]** **output_set = set()** **for z in input_list:** **if z % 2 ==0:** **output_set.add(z)** **print(f"Output set using for loop: {output_set}")** USING SET COMPREHENSION **input_list = [1,2,2,3,3,4,4,4,5,5,6,7,8,8]** **output_set = {z for z in input_list}** **print(f"Output set using set comprehension: {output_set}")** But if you choose to print out those even ones, just add **if z % 2 ==0** and if you want to square them, **add z**2** as well. These are my notes and I hope our prof. will only give problems like that unlike the previous ones huhu. My apologies also for those who just encountered python today if there are parts that you can't understand. Explaining how did it happen will take more blogs so I've decided to get back from the start and share some of my learnings here as python is a great tool in analyzing data and many more. That's all for today. Just drop your thoughts in the comment section below. Thanks. Owe you big time!♡

8 comments

Log in to join in Reading is open to everyone. Replying needs an account.