paint-brush
Python for Beginners, Part 16: Dictionaries by@cleverprogrammer

Python for Beginners, Part 16: Dictionaries

by Clever ProgrammerApril 11th, 2022
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

Up until now in the series, we have talked about downloading and installing python, what are: variables, strings, functions, loops, primitive data types, lists list-method etc. And in the last video, we discussed the solution to circle of squares, our first exercise. In this one, we go through Python Dictionaries, another built-in python data structure, which is used to store values in key: value pairs.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Python for Beginners, Part 16: Dictionaries
Clever Programmer HackerNoon profile picture
Let's talk about yet another fascinating data structure known as dictionaries. Ever wondered how your iPhone stores phone numbers and then allows for simple and efficient lookups? Well, no need to wonder anymore after you watch this video!In case you missed it, here are the previous parts of the series:

Transcript

0:00 hey guys how's it going so in the last 0:02 video we talked about doing projects 0:06 right so we going over the solutions of 0:09 some projects and this video what I talk 0:11 about is dictionaries. They're very 0:13 important in a lot of programming 0:16 languages and other ones and in C/C++ it 0:19 might be called maps but in Python it's 0:21 called a dictionary so let's see what it 0:24 is about. Okay so essentially the idea 0:29 behind dictionaries is to map keys to 0:34 values 0:36 hopefully that defines everything right 0:38 now 0:40 basically that's a very cryptic 0:42 definition that I gave you if you don't 0:43 know what it is yeah it maps two things 0:48 okay so anytime you have a relationship 0:50 between two things you want to use 0:52 dictionaries and when you don't have a 0:54 relationship relationship between two 0:57 things you want to use a list for 0:59 example if you want to just remember a 1:02 bunch of numbers and that's all you care 1:04 about you want to use a list okay so for 1:07 example I only care about a bunch of 1:10 numbers like this I want to use a list 1:15 now what if I want to know a way where 1:19 hmm 1:20 I don't know I use my cell phone right I 1:24 use this thing over here and using this 1:28 thing I can look up a person's name and 1:33 based on that person's name it gives me 1:35 back their phone number right or if I 1:38 type in their phone number it kind of 1:40 goes the other way around 1:41 whatever how can we do that well that's 1:45 the beauty of dictionaries my friend so 1:48 you're going to learn something very 1:50 powerful today so let's let's go at it 1:53 let's say I wanted to make a phone book 1:56 write with what we know in list I mean 2:00 can you think of a way how you might do 2:02 it I don't know I mean you could store 2:08 numbers right like this as a string and 2:12 then store the second number as a string 2:15 and go 4 5 6 2 2 4 4 3 3 right something 2:20 like that whatever these are not clearly 2:22 very silly numbers but ok and then you 2:25 can say phone book and give me the 2:26 zeroth number phone book give me the 2:28 first number also notice we're using 2:30 something different for coding we're 2:32 using rappelled IT right so it's 2:35 actually spelled repl by T and the 2:40 beauty of this is that it teaches you 2:43 how to code while it makes it very easy 2:45 for you to code you can use this without 2:48 having an actual working environment 2:52 locally downloading onto your computer 2:54 you can just run your code on the fly 2:55 and what I'm going to do for you guys 2:57 is once I'm done with this session I'm 3:00 going to take this link and paste it 3:02 into the YouTube description and that 3:05 way you can actually get access to these 3:07 notes directly ok so you'll be able to 3:10 come to this link and get for example 3:14 the link right now is this ok by it but 3:18 by the time we're done with this video 3:19 the link might be different and I'll 3:21 post the most updated link for you guys 3:22 in the YouTube description ok so the 3:27 website is repl DT and you can pick 3:30 programming language Python for your 3:33 programming language and then just code 3:35 here ok 3:36 so let's check out what this does let's 3:38 make sure to add print print let's check 3:44 it out 3:44 so you can see you have 1 2 3 & 4 5 6 3:47 right you printing out the zeroth 3:49 element and then the first element of 3:51 this list that's great but I mean it's 3:54 not really fun to remember names as 3:56 numbers right because you're not going 3:58 to be you're not gonna go oh I'm gonna 4:01 call you zero Johnny and I'm going to 4:03 call you 1 Bob and then every time you 4:05 have to look at Johnny's number you're 4:07 going to type in zero to get back 4:08 Johnny's number or one to get Bob's 4:10 number that would be terrible 4:13 and what if you had stored hundreds of 4:16 people in your list then it gets really 4:18 complicated but now let's use 4:20 dictionaries here's how dictionaries 4:22 work okay let me describe right here in 4:25 notes dictionaries okay 4:31 here's other word you have some 4:34 dictionary we will called it a dick okay 4:38 and you did and the store key value 4:42 pairs so if you put in a key gives you 4:44 back the value okay and how you store 4:49 things into a dictionary is like so your 4:52 key goes here and your value goes here 4:54 okay let's set a key one value 1 then we 4:58 can say key - value 2 okay and you can 5:03 keep doing this all day all right now 5:07 let's create a dictionary 5:09 ok so let's create our example phonebook 5:12 so I'm going to say 5:14 Kazi which is my name which is my last 5:17 name but I got go on my last name pretty 5:19 much everywhere so we're going to take 5:20 the string cause E as the cause e is the 5:24 what is that the key or the value if you 5:28 said key good job and we're going to 5:30 store the number 1 2 3 4 5 6 7 8 9 0 now 5:37 notice that I'm storing this as a string 5:40 and not an actual number like an integer 5:43 or something why do you think that is 5:45 well think about it if I remove the 5:48 quotes from here what is this going to 5:50 do is going to do 1 2 3 - 4 5 6 - 7 8 9 5:56 0 and I'm going to end up getting back 5:59 on negative 8223 so it's actually going 6:03 to end up storing it like this that's 6:05 not what I want I want the exact number 6:08 so usually when you want things exactly 6:10 how they are strings are perfectly good 6:12 data type to use there and now I'm going 6:15 to say Bob and I'm going to store Bob's 6:17 number as okay is this a which key is 6:22 this this is the second key and now 6:24 there's going to be the second 6:25 I'm going to store his number as 2 2 2 2 6:27 2 2 & 2 2 2 2 6:29 very easy number that Bob has he gets 6:32 tons of wrong calls and he gets very 6:37 annoyed now to make it a little bit 6:39 nicer on me to read this dictionary sure 6:41 I can have it as a long one line but as 6:43 you can imagine as we begin to store 6:46 multiple people it's going to be 6:47 spilling over to the right side so what 6:49 I want to do is make it easier on my 6:51 eyes and make it easier to type so I'm 6:55 going to go to the start of the line hit 6:56 enter and python knows what to do with 6:58 it and where to put it and I'm going to 7:00 go to the start of this line and hit 7:01 enter okay I'm also going to go here and 7:04 hit enter and I'm going to go here and 7:07 hit enter okay 7:08 and what this does for me is it just 7:11 makes it easier for me to read okay kind 7:14 of like this um and i can just simply 7:19 start putting things in here we can 7:21 leave that here there that's not a 7:22 problem we can leave that one right up 7:24 there and i can put in another person 7:27 right cat cat cat 7:29 let's just do cat caller cat let's say 7:32 her number is 3 3 3 3 3 3 3 ok and now 7:37 what I can do is I can do phone book and 7:39 what's the way I can get back cause ease 7:42 phone number right so imagine you go to 7:46 your phone your iPhone or whatever you 7:48 have and you simply swipe up or down 7:52 right you go to your words contacts how 7:57 does contacts work I go to my contacts 8:01 and I type in let's say my name right so 8:06 how does it find it and how does it give 8:09 me back the actual number well today 8:11 you're going to find out the secret 8:13 behind how it works ok so it takes in 8:18 the key or my name Rafeh Qazi and it 8:20 spits back the value associated with it 8:23 it could be my email address it could be 8:25 my phone number it could be whatever the 8:27 heck I want it to be right so now let's 8:29 go into phonebook and we can say Qazi 8:32 right that's you put in the key and this 8:35 whole thing liquefies and 8:38 turns into the value okay so that whole 8:41 thing turns into one value okay so let's 8:45 print it out and let's see what we get 8:47 and I'll break it down how this 8:48 expression works so we got back one two 8:52 three four five six seven eight nine 8:54 zero phone book is just this whole 8:56 dictionary starting with the squiggly is 8:58 right so phone book is this thing right 9:00 there 9:01 and I'm indexing that phone book by Qazi 9:05 okay so as you can see I have this list 9:08 here and I'm simply indexing it by qaz I 9:12 okay 9:13 and once I index it what happens here 9:17 right once I index it by Qazi I just get 9:20 back the value so this whole thing 9:23 liquidates into that and then that 9:27 result actually gets printed out on the 9:29 screen okay that's how the dictionary 9:33 works now let's say I wanted to make it 9:35 a little bit more complicated to where 9:38 each person had you know like their 9:43 names and each person had their own 9:45 email address associated with them and 9:48 whatever right so we could make it a 9:50 little bit more interesting for example 9:52 let's say that I wanted to add more 9:55 values associated with Qazi I don't want 9:57 just his phone number but kind of like 9:59 how my phone does it 10:00 it also has caused these email addresses 10:03 and it also has causes home address and 10:06 whatever else right so how would I do 10:07 that well what I need to do is I need to 10:10 have one key that gives me back multiple 10:13 values associated with it here I have a 10:15 key Qazi I have a key Bob and I have a 10:18 key tag so what I need to do to cause e 10:21 for example is make it give me back 10:24 multiple values well what's a pretty 10:26 darn good thing to give back multiple 10:28 things hmmm I remember it's a list how 10:34 about a list of things so let's turn 10:37 this from a spare string to a list that 10:40 contains one the phone number and then 10:44 we can say to it contains one email 10:47 address so we can say 10:50 Ozzie at cause e.com okay fake email 10:54 address let's close that down there and 11:00 okay sweet so now we have a list 11:02 containing two strings inside of it the 11:05 first at first index it's a phone number 11:08 and then order 0th index rather and then 11:11 at the first index we have two email 11:12 address I can do the same thing to the 11:16 other ones but let's just play around 11:18 with it and see what we get so I'm going 11:21 to change this from phonebook Aussie and 11:23 I'm going to say ok I know that once I 11:27 run this line of code what I will get 11:30 back is actually this list this whole 11:34 thing is actually going to evaluate to 11:35 the value of Kazi right so you put in 11:38 the key look at the formula at the top 11:39 right you put in the key and you get 11:41 back the value from the other side so 11:44 I'm going to run it and let's see what 11:45 we get so you can see that we get back 11:47 the value I know that this thing is 11:50 going to turn into a list then I have to 11:53 think about how can I access different 11:55 things from the list let's say my 11:57 question to you was can you get me cause 11:59 these phone number you would say okay 12:02 I'll get you cause these phone number I 12:04 know that it's inside of a dictionary 12:06 where the key is 12:07 Kazi where there is a key cause II and 12:10 if I access that key Kazi right if I 12:14 access the key the dict and if I access 12:19 the key Kazi I get back a list of things 12:24 containing his a phone number and email 12:31 right so you're like boom now I know 12:34 that I have a list of things how can I 12:37 access things inside of a list I 12:38 remember how you access things inside of 12:42 a list is based on the index number 12:44 right so for example if I go up here if 12:48 I have to access the first element or 12:51 the zeroth element of the list I would 12:52 do this and this gives me the first 12:54 element 12:54 list whereas for a dictionary you would 12:58 actually put in for a dictionary you 13:03 would actually put in a name or 13:05 something something that's nice and easy 13:07 to remember in a list you use numbers so 13:11 then you go okay 13:12 well I know that cause ease email 13:15 address is at position one right this is 13:19 index zero and this is index one so if I 13:21 ask you the question of getting me cause 13:23 ease email address you know that this 13:26 whole expression evaluates to a list 13:28 well then you can just say one right 13:33 just like this thing over here and let's 13:37 change it to zeroth element the list 13:39 just to be very accurate let's hit that 13:41 and you can see that I get back Ozzy's 13:43 email address well what if I wanted to 13:46 get a cause ease phone number I would 13:50 just change this to a zero and you can 13:53 see that I got back that's the same 13:54 thing now let's say I want to do the 13:57 same thing for Bob right turn this is 13:59 the phone number this is Bob at Bob calm 14:01 and then we have let's turn this into a 14:05 list of things and let's call it cat at 14:09 cat calm and we have this closing I have 14:13 to make sure that I close my quotes here 14:17 close the quotes there okay great so I 14:21 have a phone book let's get the 14:24 terminology right let's just practice 14:25 with the terminology it's good to say it 14:28 over and over again I don't care if I 14:30 sound crazy and I you shouldn't care the 14:32 few sound crazy but understand the 14:34 terminology because is going to help you 14:35 be able to research it better understand 14:37 it better synthesize the information 14:39 better and be able to write better code 14:42 ultimately because you will understand 14:43 all of the data structures whereas if 14:46 you just keep mumble and hand-waving 14:48 you're going to get very confused later 14:50 on you might be able to get past some of 14:51 this stuff but then when we get into 14:53 list inside of dictionaries inside lists 14:55 of dictionaries is going to get very 14:57 complicated you can be like oh man I 14:59 wish I learned the terminology when it 15:01 was nice and easy so let's let's just 15:04 talk through it I have a dictionary that 15:06 contains how many keys 15:08 three keys what's each keys name Kazi 15:11 Bob cat what do each of the keys contain 15:15 each of the key contains a value and 15:17 that value is a list okay good each key 15:22 contains a value which is a list that's 15:24 good and how many elements is each list 15:26 contain each list contains two elements 15:29 right as we can see right here so now if 15:34 I wanted to get cats number I could do 15:38 cat and I can say zero and I get back 15:43 three three three three three three 15:45 three three three three so let's give it 15:46 an exact let's give it a run and you can 15:48 see on the right-hand side that's what I 15:50 get back okay so I will leave this here 15:54 for you guys and I will link you guys to 15:56 the code so you guys can go and play 15:59 around with this stuff as well okay 16:04 that's it for dictionaries and we will 16:07 get into its better use cases later on 16:09 for now you're gonna watch Boolean 16:13 algebra jujitsu after this video great 16:17 job guys take care I will see you in the 16:21 next video
바카라사이트 바카라사이트 온라인바카라