#100DaysOfCode in Python Transcripts
Chapter: Days 7-9: Python Data Structures
Lecture: Creating and Parsing Dictionaries
0:01 Next up we're going to talk about dictionaries,
0:03 or dicts for short,
0:06 let's keep saying dictionaries, just to be safe.
0:09 And they're made up of pretty much two different things.
0:13 The easiest way to demonstrate it is to just create one
0:16 in its simplest form.
0:19 So we'll create a dictionary called pybites,
0:22 and let's just add a few things to it.
0:25 The first thing we need to add is a key,
0:29 and the second thing we need to add is a value.
0:33 Looking at it here, there's a separator here, your colon.
0:37 And that separates your key, the key comes first,
0:40 from your value on the end.
0:43 Alright, and this here is technically a dictionary.
0:48 It may only have one item in it, but it's a dictionary
0:51 all the same.
0:52 Let's make it a little more interesting.
0:54 When you're adding a second item into your dictionary,
0:57 you separate it with a comma.
1:00 Alright, so we've got Julian, now let's add Bob,
1:05 and let's just say he's 33, then we have Mike,
1:09 let's say he's also 33.
1:12 Let's just say I'm being super generous with those ages
1:15 guys, anyway, there's our dictionary.
1:21 So to view what it looks like, we just type in,
1:27 And there it is there, the three different items.
1:31 And these link to each other.
1:32 So the key is Mike, the value is 33.
1:36 The key is Bob, the value is also 33.
1:40 Now notice when we printed it out, it printed out
1:44 in this order.
1:47 Well this order is not explicit.
1:50 With a dictionary, when you're passing it,
1:53 when you're listing it out, when you're displaying it,
1:56 there's no guarantee that the data is going to remain
2:01 in the order, okay?
2:03 That's very important to remember with dictionaries,
2:05 they are unordered, okay?
2:10 Now let's say we wanted to create a dictionary
2:15 but we didn't know what values we were going to put into it
2:18 from the start.
2:19 We'll just do a quick little side track demonstration here.
2:22 You would start off just as you would do with a list
2:25 that's empty, except you're using two curly brackets
2:28 instead of the square ones.
2:32 So people is now an empty dictionary.
2:35 There's absolutely nothing in it.
2:37 To add someone to it, this is the tricky part, this is where
2:41 it gets a bit different.
2:43 What you need to do, you need to actually pretty much
2:46 in square brackets, you need to choose the key, alright?
2:52 In this instance the key for a list of people is going
2:55 to be Julian, and we're going to assign that key a value
3:00 of 30.
3:01 So the dictionary people, we're creating an entry,
3:06 a key, of Julian, and we're assigning it the value of 30.
3:11 We list out people, there we go, we see that exact same
3:18 formatted dictionary as we did when we explicitly
3:22 defined it up here, okay?
3:24 We can add to it again.
3:26 We can go, people, Bob, and we can assign Bob
3:34 the age this time of 103.
3:39 And there we go.
3:42 So same thing, right?
3:45 This time we just populated an empty dictionary.
3:48 But either way it all comes out the same.
3:51 Now the way you interact with the dictionaries is a bit
3:53 different to lists.
3:56 The way we view just the keys, just these keys here,
4:01 forget the values for a minute,
4:02 is we use keys.
4:05 So we can go pybites.keys, and there are our
4:10 dictionary keys.
4:12 Julian, Bob, Mike.
4:14 The same things for the values.
4:16 pybites.values, and there we go, the three values.
4:20 30, 33, and 33.
4:23 Now what if we wanted to see all of this?
4:26 Now this is all well and good because we're in the shell.
4:29 But if this was an actual application you can't just
4:31 type in the name of your dictionary and expect it
4:34 to print out, right?
4:35 This is just all standard out through the shell.
4:39 So the way we would actually print out, first of all,
4:42 the way we actually see each pair of dictionary items
4:48 is to use items().
4:53 We can see Julian 30, Bob 33, Mike 33.
4:59 These are our three different dictionary key value
5:04 combinations or items.
5:06 Now how do we pass over all of that?
5:08 Well we do it just how we would with a normal list.
5:11 We can go for keys in pybites.keys, print keys.
5:22 There we go.
5:24 We can do for values in PieBites.values, print values.
5:36 This is all very similar, you can see the similarities
5:39 between dictionaries and lists.
5:42 But last but not least, what if we want to print out
5:45 all of this information, not just keys, not just values,
5:48 without having to run two separate for loops, which would
5:53 be quite un-pythonic right?
5:55 Well, God love Python, we can go for keys values in
6:02 pybites.items(), so for keys and values in PieBites.items
6:10 Print keys, and remember we have to do the string thing
6:13 here, values, and there we go.
6:18 Julian 30, Bob 33, Mike 33.
6:22 Now obviously that is not very pleasant on the eye,
6:25 so we can do our standard string formatting.
6:28 So we can go, for keys, values in pybites.items(),
6:35 print, string is digit years of age, keys, values, okay?
6:53 And there we go. We can see Julian is 30 years of age,
6:56 Bob is 33 years of age, Mike is 33 years of age.
7:00 And that's dictionaries.
7:01 It's actually that simple to iterate over dictionary,
7:04 and that's pretty much it.
7:06 You've got your key, and your value.
7:09 And you just do it over and over again,
7:12 just like a list.
7:14 So enjoy your dictionaries, and get used to them,
7:17 because you'll be playing with them.