FAQ: Modifying DataFrames - Reviewing Lambda Function

This community-built FAQ covers the “Reviewing Lambda Function” exercise from the lesson “Modifying DataFrames”.

Paths and Courses
This exercise can be found in the following Codecademy content:

Data Science

Data Analysis with Pandas

FAQs on the exercise Reviewing Lambda Function

Join the Discussion. Help a fellow learner on their journey.

Ask or answer a question about this exercise by clicking reply (reply) below!

Agree with a comment or answer? Like (like) to up-vote the contribution!

Need broader help or resources? Head here.

Looking for motivation to keep learning? Join our wider discussions.

Learn more about how to use this guide.

Found a bug? Report it!

Have a question about your account or billing? Reach out to our customer support team!

None of the above? Find out where to ask other questions here!

To pin point the last character, why not use x[-1] instead of x[len(x)-1]?

Are there situations where x[-1] will not work?

Thanks

1 Like
mylambda = lambda x: x[0]+x[-1]
print(mylambda('Hello World'))

certainly produces the same results
Hd

I don’t know why they added the complicated
x[len(x)-1]

1 Like

What would the two lines of code be if we wanted to print the first and last number of an integer instead of the first and last letter? I’ve not had any luck in coming up with the solution on my own.

I’m a bit late but something like this?

int_number = 398735

mylambda = lambda x: x[:1] + x[-1:]
print(int(mylambda(str(int_number))))

If you don’t mind if you print an integer or a string you can get rid of the int().

1 Like

The constraint put in the exercise " assuming the string is at least 2 characters long", shouldn’t be somehow written in the code? Maybe by using an if statement?

I tried to put a string one-character long, e.g. ‘H’ and the output is ‘HH’ ; a result which I think is not thorougly consistent with the way the exercise was expressed.

However, when I added … if len(x)>2 else ‘None’ and wrote again print(mylambda(‘H’)),
then the output was ‘None’.

put quotes around your number turning it into a string.

BUMP

Does anyone have the answer here?

What did your code look like for ethis, i.e were did you put your if statement?

The article says the output should look like ‘Tg’ (notice the quotes). I had to add those manually to make it look like the article’s output. Was there some other way I should be doing it? Also, I had to put an else behavior to add the >2 check.

mylambda = lambda x: "'"+x[0]+x[-1]+"'" if len(x) > 2 else "String too short"
print(mylambda('This is a string'))

I did a letter count of the following functions (not including spaces and line breaks)

def say_hello(name):
    print(f"Hi there {name}!!")
say_hello = lambda name: print(f"Hi there {name}!!")

lambda functions are 46 letters, 2 letters longer than normal functions so which one is better (I know it’s just two letters but still, I am just asking)

@noot-noot it’s not about character counts. I think efficiency in Python is more dictated by lines. It also has the ability of being declared without a name so good option for one use throw away functions.

This article has been helpful resource on this.

yeah your right I don’t know why I mentioned the letter count tho lol