FAQ: Working with Lists in Python - Removing by Index: Pop

This community-built FAQ covers the “Removing by Index: Pop” exercise from the lesson “Working with Lists in Python”.

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

Data Scientist
Analyze Data with Python
Computer Science
Analyze Financial Data with Python
Build Chatbots with Python
Build Python Web Apps with Flask
Data Analyst

Learn Python 3
CS101 Livestream Series

FAQs on the exercise Removing by Index: Pop

There are currently no frequently asked questions associated with this exercise – that’s where you come in! You can contribute to this section by offering your own questions, answers, or clarifications on this exercise. Ask or answer a question by clicking reply (reply) below.

If you’ve had an “aha” moment about the concepts, formatting, syntax, or anything else with this exercise, consider sharing those insights! Teaching others and answering their questions is one of the best ways to learn and stay sharp.

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

Ask or answer a question about this exercise by clicking reply (reply) below!
You can also find further discussion and get answers to your questions over in #get-help.

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

Need broader help or resources? Head to #get-help and #community:tips-and-resources. If you are wanting feedback or inspiration for a project, check out #project.

Looking for motivation to keep learning? Join our wider discussions in #community

Learn more about how to use this guide.

Found a bug? Report it online, or post in #community:Codecademy-Bug-Reporting

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!

Which is better to use, .remove() or .pop()? Which is better to use in certain projects and problems?

The .pop method returns the object you are removing from your list. So, if you need that object then use pop; otherwise you can just remove it.

1 Like

Worth adding in here that .pop is designed to act on a specific index of your list e.g. lst.pop(10) would pop the 11th element from the list; whereas .remove is designed to remove a specific value rather than an index e.g. lst.remove("Marius") to remove the first element that matches the value "Marius".

Since their arguments differ you’d likely be using them at different times for that reason too.


When I removed the items by using .pop but then also add them to a new variable, Algorithm shows up as 3Algorithm.
This is what I wrote:

removed_classes = data_science_topics.pop()

removed_classes += data_science_topics.pop(3)



This is what showed up:
[‘Machine Learning’, ‘SQL’, ‘Pandas’, ‘Statistics’]
Python 3Algorithms

It’s not that Algorithms is showing up as 3Algorithms. It’s “Python 3” followed by “Algorithms” with no space between.