paint-brush
Python for Beginners, Part 11: String Slicing by@cleverprogrammer
259 reads

Python for Beginners, Part 11: String Slicing

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

Too Long; Didn't Read

Strings are one of the primitive data types of python, as we have seen in previous part of the series. String indexes start with 0 and string slicing in python programming is used to fetch a part of the string (substring) from a given string by slicing it from a 'start' index until a 'stop' index.

Company Mentioned

Mention Thumbnail
featured image - Python for Beginners, Part 11: String Slicing
Clever Programmer HackerNoon profile picture
Now let's talk about string slicing.In case you missed it, here are the previous parts of the series

Transcript

0:00 There my beautiful children, 0:01 in this video we're gonna talk about string slicing. 0:04 What is string slicing? 0:06 We're not talking about cake slicing, so let's get started. 0:09 Well a string as you remember 0:11 was that thing in the green here, 0:13 but that's just really specific 0:15 to the IDE that we're using, 0:17 if you're using any other text editor it's not necessarily 0:19 gonna be green. 0:20 So the string is just something in quotes. 0:22 Either it's single quotes or double quotes 0:24 as long as it's consistent, 0:27 Can't have a single quote ending with a double quote. 0:30 They gotta match. 0:32 Okay. 0:34 So we have to match with the quotes, 0:37 that's your string, right. 0:39 So what we want to do now is slice those strings. 0:43 Well, what does that mean? 0:46 Imagine I gave you an email address. 0:48 Email is equal to, I don't know, 0:52 rafeh at gmail dot com, 0:56 something like that. 0:57 Well, a common thing that people have to do when they 1:00 are getting this data back is, 1:03 well, this is the username or something, 1:08 this part is the Gmail thing, 1:13 and then this is the dot com part, right. 1:16 So like, let's say we just want the domain or whatever, 1:19 and here we simply want like the username. 1:22 So how would we do that? 1:24 Well, we can use a little bit of string slicing. 1:27 So let's just start with a simple example. 1:29 Let's take hello, and let's say we want to get the first 1:32 Let's take hello, and let's say we want to get the first 1:35 letter from hello, we wanna get just the H. 1:38 Well, how you do it is you index by opening a bracket, 1:42 and closing a square bracket. 1:44 And if I do zero, it'll get me 1:48 the first letter of that, okay. 1:51 So H in this case is zero, right. 1:53 So H in this case is zero, right. 1:55 The E is one, in Python most of the things start from zero. 1:59 So we go all the way up to this O here, 2:02 which is a four, okay. 2:07 So we take this hello and 2:12 whoops 2:13 let's take this hello and let's simply do a 1, 2:16 let's take this hello and let's simply do a 1, 2:19 and that'll give me the E, okay. 2:21 Now another thing I want to show you guys in string slicing, 2:24 besides doing, okay that index, 2:27 right, this passing in the index one, 2:31 will give me the second letter. 2:32 What if we want to do something cooler 2:33 like get a chunk of code? 2:36 Well, how indexing works is it's start, colon stop. 2:39 Well, how indexing works is it's start, colon stop. 2:43 Okay, colon stop. 2:46 So what you can do is you can say hello. 2:49 Oh, I keep doing that. 2:51 Hello, and you can say start from zero, and end at two. 2:54 Hello, and you can say start from zero, and end at two. 2:57 Not including two, but end at two. 3:01 So include zero, but don't include the two. 3:04 Which means that you really get the zeroth str um 3:07 zeroth index 3:09 and the first index. 3:11 Right, so whatever the letter is at the zeroth index, 3:13 and whatever the letter is at the first index. 3:16 So in this case we'll get an H E, okay. 3:21 How you can read this is just, 3:22 give me the first two letters, that's how I read it. 3:25 So you can just say give me the first two letters. 3:28 Now when you're starting off from zero, 3:30 by default index starts at zero. 3:33 So if you don't actually say this at all, 3:35 and you just remove the zero, 3:36 you're gonna get back H E, okay. 3:41 Everything that I'm showing you guys here, 3:44 play around with it, okay? 3:45 Don't just sit here and watch my videos. 3:48 I don't want you to be a passive learner, 3:49 please, please actively do this with me. 3:52 please, please actively do this with me. 3:55 Or pause my video and do this. 3:56 I want you to spend more time doing 3:58 and less time looking at it, okay. 4:00 Because it seems really simple when you're watching it, 4:03 but if you don't put it into action and do things 4:05 that make sense to you, 4:07 if you don't turn it into a game for yourself where you're 4:10 doing something, you know like 4:11 you making fun little stupid projects, 4:14 using what I'm showing you, 4:17 you're not gonna be able to remember it. 4:19 That's really what my problem with Codecademy is, 4:22 a lot of people go through Codecademy, 4:24 but the problem that ends up happening is that 4:27 they just go through it at a really fast pace 4:30 and they don't really have much 4:31 projects that they get to do there, 4:33 and not a lot of stuff that they get to do on their own, 4:36 so the most common complaint you hear from people 4:39 who take the Codecademy course will be like, 4:41 "It was great, I took the whole thing!" 4:42 But, yeah, right now, I can't write a single line of code, 4:46 okay, so it's not impressive the higher 4:49 you are in really abstract levels 4:51 introduction to classes, 4:52 "Oh yeah, I know all about function, 4:54 I'm in introduction to classes." 4:55 Write a function. 4:57 Write a function that takes in three inputs 4:58 and does dadada, print something out and sort in order. 5:02 "Pfft, I don't know how to do that, I'm totally lost." 5:05 Right. 5:06 Don't be one of those people, 5:07 make sure you build strong fundamentals, 5:09 and your coding level is functional at all times, right. 5:13 So even if I'm teaching you really basic stuff, 5:15 make sure you can do something with it. 5:17 That's the only way you'll get better 5:19 and make sure you have fun while doing it. 5:21 Anyway, let's get back to it. 5:22 So, hello, right. 5:26 Make up your own strings and break them up 5:28 and see what you can make up from what I have shown you here 5:31 and experiment, what if I change the end, 5:35 what if I change the stop part of it, 5:37 and what if I change the start part of it, 5:39 what if I don't put anything in the stop part, what happens? 5:41 So let's try that. 5:42 So hello and let's put in nothing, for both parts, 5:46 So hello and let's put in nothing, for both parts, 5:48 let's see what happens. 5:49 You just get the whole string, by default, 5:52 it starts from zero and by default 5:53 it ends at the last index. 5:57 Okay, so, it's the same thing as saying zero 6:01 to if you count it up, zero, one, two, three, four, right? 6:05 to if you count it up, zero, one, two, three, four, right? 6:06 O is four, so I'll say four here, that will not give me it 6:07 O is four, so I'll say four here, that will not give me it 6:10 I have to say five. 6:13 Right, because it will not include the four, 6:16 if I say four in will go up to but won't include the four. 6:19 For example, 6:21 see? 6:22 So we have to do five, okay? 6:26 So that helps us get to the end of the string. 6:30 Now what if I wanna get the last letter from hello? 6:33 Or anything, if I wanna get the last letter, 6:36 I can do something like this. 6:39 Negative. 6:41 Okay, I can also slice by a negative number. 6:45 So if I wanna get hell from hello, 6:47 I can do hello and I can say go from zero 6:50 I can do hello and I can say go from zero 6:55 and let's try see what happens if I put negative one here. 7:00 Right? 7:01 So another way I. 7:02 Basically, what I'm saying is, 7:04 start from the zeroth part go up to 7:09 the last part but not including the last part, 7:12 so that gave me hell. 7:14 Another way to write it is by putting a four here, okay. 7:17 Another way to write it is by putting a four here, okay. 7:21 Another way to write it is not having a zero here. 7:23 Another way to write this is not having a zero here. 7:26 That all gives you hell. 7:27 So you see, play around with all those. 7:29 I'm gonna now show you another thing 7:32 that you can slice with and that'll also blow your mind. 7:36 Slicing is very important, it's a very common procedure, 7:40 so it's pretty go to learn it because, 7:42 let's say you are trying to make an app 7:45 which goes on craigslist and pulls 7:47 a lot of data from craigslist, 7:49 so like pull up ads, so that ads, like 7:51 you might get the data back in a string form. 7:54 So you might get something like, 7:56 XBOX 360 pricing is, 8:02 it's price is $10 and 8:05 that's stupid, it's not $10, right, 8:07 you might get it for $150 nowadays, 8:11 2016 the value of it has significantly dropped, 8:15 and then let's say it says the condition type, 8:18 so the condition type is new, right. 8:22 So this is the 8:26 data that you'd get from craigslist. 8:28 Well, if you were writing up script or python code 8:31 Well, if you were writing up script or python code 8:34 that would pull that information 8:36 and then make sense out of it for you 8:39 and like write it to an actual excel file, 8:42 so like you want it to, you know, essentially do something 8:46 cool where it opens up a excel and writes to it 8:50 and you want it to like have, 8:53 you know, product, 8:55 price, 8:58 and condition, right, 9:00 and in product you'd want XBOX 360, 9:04 in price you'd want 150 9:07 and in condition you'd want new, right. 9:11 How would pull that data cleanly 9:13 so it doesn't put XBOX 360, 150, new all in one place? 9:17 so it doesn't put XBOX 360, 150, new all in one place? 9:21 Right? 9:21 So for that you need to be able to do string slicing, okay. 9:25 So for that you need to be able to do string slicing, okay. 9:28 So for instance, you might say, 9:31 console or product, right, or console product 9:35 is equal to, you know, find me the first pipe, right. 9:39 is equal to, you know, find me the first pipe, right. 9:42 So like let's say we have this guy here, there is a method 9:45 So like let's say we have this guy here, there is a method 9:48 you can do on data which is called index. 9:51 you can do on data which is called index. 9:54 So let's find the index of pipe. 10:00 It tells me that pipe is at index nine, 10:02 so zero, one, two, three, four, 10:06 five, six, seven, eight, nine. 10:10 Which means that if I index the string data 10:15 and I do nine, It'll give me back the pipe. 10:19 So what that tells me is that to get XBOX 360, 10:22 I need to go from the start of that string, 10:26 all the way up to the first pipe, 10:28 that should get me the product. 10:30 So I can say product is equal to data 10:33 from the start I don't need to say zero, right? 10:36 I can say from the start to 10:41 take the data dot index of the pipe. 10:48 Now if I show you product, boom. 10:51 Look at that, we got XBOX 360. 10:54 And so now I can write that product to the file, 10:57 teach you guys how to read and write to files. 10:59 Okay so then what tt will do is that it'll actually write 11:02 XBOX 360 in here for you, automagically. 11:06 Now, understand the power and implications, 11:09 "Well, why can't I just do that by hand?" Right? 11:11 That might be a question. 11:12 What if it was a hundred thousand products? 11:14 Can't do it by hand, good luck, right? 11:17 What if a million products that you were trying 11:19 to search from and find the best price 11:21 using your craigslist bot. 11:24 That's where programming comes in, okay? 11:26 It's very important to understand how programming in here 11:29 ties together and how it's more powerful 11:32 than you trying to do this on your own. 11:35 So that's really the power of string slicing, okay? 11:39 To break this line down for you a little bit more, 11:42 data, colon, that's just saying start from zero, 11:46 and then I'm saying data dot index of pipe, 11:49 what does that part evaluate to, right? 11:51 Dot index is a method that you can use on data, that's, okay 11:55 Dot index is a method that you can use on data, that's, okay 11:57 which just gives you something that's you're looking for, 12:00 you pass it into the function, right, that function 12:02 or that method index takes in one argument. 12:06 So what does this whole part evaluate to in our case? 12:09 This part evaluates to a nine. 12:12 Right, this whole part data do index, right? 12:16 Evaluates to nine, so if I do data zero through nine, 12:20 you can see that I just get XBOX 360, the same way. 12:23 Nine tells me up to but not including the pipe, okay. 12:26 Nine tells me up to but not including the pipe, okay. 12:29 So that's how we got the XBOX 360 part, 12:33 how would you get the 150? 12:35 You would kind of do the same way to get the price, okay. 12:39 You would kind of do the same way to get the price, okay. 12:40 But you would say instead of starting to look from here, 12:45 because then it'll find this pipe right here, 12:47 right, this one. 12:48 You wanna find this pipe now. 12:51 So you want to actually start your string search 12:55 from this location or this location that I'm highlighting. 12:59 And then you wanna search all the way up to this pipe 13:03 and stop there and get whatever 13:06 is in between these two pipes, okay? 13:09 So that's something I want you guys to try, 13:12 paste your code below for how you might get 13:15 the price and the condition, okay. 13:18 That would be a fun thing for you guys to do. 13:22 I'm gonna keep moving on 13:23 and talk a little bit more about string, 13:26 string slicing, cause there is still 13:28 a little bit more to it. 13:29 So 13:32 and again I want to keep practicing all this, 13:34 cause otherwise this is gonna overwhelm you, 13:37 all this knowledge. 13:40 So let's say that I have 13:44 I can do start, stop and here is another method 13:46 I can do start, stop and here is another method 13:48 to blow your mind, step. 13:50 So how many steps do wanna take when I'm reading something. 13:54 Okay. 13:55 So like let's say, I have this string, 13:59 "Hi how are you doing, it is very nice to meet you." 14:02 "Hi how are you doing, it is very nice to meet you." 14:07 I wanna make sure I'm consistent so not 14:10 double quote single quote and um 14:14 you know, let's just store that in some variable greeting. 14:17 Okay. 14:18 So if I say greeting so you can see the whole string, 14:22 so what I can do is take greeting, say start at zero, 14:28 stop at, I don't know, negative one, 14:31 so like all the way at the end, 14:33 and then I want you to. 14:37 Basically it'll go up to O, right? 14:40 Because it's up to like, 14:41 or sorry, it'll go up to the U part 14:44 but not this period right here. 14:47 Sorry. 14:48 I just, it won't let me highlight that period. 14:52 It won't go up to that period, okay. 14:54 It'll go up to U, because it's up to 14:56 but not including the period. 14:58 Sorry, I keep saying that a lot but I do know that 15:01 when you're starting to learn python or programming, 15:04 those things you'll forget a lot. 15:06 So I'm sorry if I'm reiterating 15:07 that fact over and over again. 15:09 Alright so we start from zero, we go up to the u, right? 15:11 Alright so we start from zero, we go up to the u, right? 15:14 We go from here all the way to here, 15:17 and then we wanna step, so instead of a, 15:23 for example, taking, I don't know, 15:26 reading every single one of these, 15:28 we can read every other letter. 15:30 So I can say instead of stepping by one which is default, 15:33 if I do one here you'll see, 15:36 this is pretty much the same string without the period. 15:39 And if I do nothing here, you'll see the same thing, right, 15:42 And if I do nothing here, you'll see the same thing, right, 15:44 cause that's a default. 15:46 And if I do step by two, this is basically saying 15:47 And if I do step by two, this is basically saying 15:50 give me every other letter. 15:54 Okay? 15:55 So think about maybe creating a game, gibberish game 15:59 that takes in a string as in a like it's a function 16:02 called gibberish, takes in a string and it just gibberi 16:05 called gibberish, takes in a string and it just gibberi 16:07 gibberish-izes it, 16:11 okay, it just like jumbles it up. 16:14 And if I do three here, you can see it stepping by three, 16:19 alright. 16:20 So pretty weird, but also cool at the same time, 16:23 So pretty weird, but also cool at the same time, 16:26 and 16:29 another thing that I wanna ask you guys as a practice to do 16:33 before I end this video is say I had the string hello, 16:40 I gave you the string, how would you reverse it? 16:45 Okay. 16:46 I want, if I gave you hello, I want back, 16:50 olleh. 16:52 Or if I gave you olleh, 16:57 you should give me back hello. 16:59 Okay. 17:01 So hopefully, that blew up your mind on string slicing, 17:04 So hopefully, that blew up your mind on string slicing, 17:06 I'll try to put some exercises on clever programmer dot com, 17:10 so if you haven't already go enroll in to the school 17:13 so if you haven't already go enroll in to the school 17:16 and there'll be exercises and extra resources 17:19 that you can use to get help. 17:21 Also there are others in the community who can help you. 17:24 Okay. 17:25 So good place to go for help, 17:27 but if you're watching on YouTube that's totally fine, 17:29 comment in the YouTube section below 17:31 and I will personally try to help you out, 17:34 other than that I'll see you guys in the next video.
바카라사이트 바카라사이트 온라인바카라