How to Append Lists in Python

The Python append() method adds a single element to the end of an existing list. This method modifies the original list directly and does not return a new list. You can use it to build lists dynamically.

You can use the append() method to add any data type to a list, including numbers, strings, Booleans, other lists, tuples, or dictionaries.

What is the Python append() Method?

The Python append() method adds a single item to the end of a list. It is a built-in list method. You call append() on a list object. The method modifies the list in place, adding the new item to its last position.

For example, if you have a list [1, 2, 3] and append 4, the list becomes [1, 2, 3, 4].

3 Steps to Use the Python append() Method

Using append() is a straightforward process. Follow these steps to add elements to your Python lists.

Step 1: Create or Select a List

Before you use append(), you need a list. You can start with an empty list or use an existing one.

Here is how you create an empty list:

my_list = []
print(my_list)
# Output: []

Here is an example with an existing list:

fruits = ["apple", "banana", "cherry"]
print(fruits)
# Output: ['apple', 'banana', 'cherry']

Step 2: Call append() on the List

Once you have a list, call the append() method on it. Pass the element you want to add inside the parentheses.

The syntax looks like this: list_name.append(item).

For instance, to add “orange” to the fruits list:

fruits = ["apple", "banana", "cherry"]
fruits.append("orange")
print(fruits)
# Output: ['apple', 'banana', 'cherry', 'orange']

Step 3: Verify the Change

The append() method modifies the original list. You can print the list to confirm the element was added successfully.

numbers = [1, 2, 3]
numbers.append(4)
print(numbers)
# Output: [1, 2, 3, 4]

How append() Handles Different Data Types

You can append various data types to a Python list. append() treats whatever you pass to it as a single item.

Appending Numbers and Strings

You can add numerical values or text to a list.

data = [10, 20]
data.append(30)
print(data)
# Output: [10, 20, 30]

names = ["Alice", "Bob"]
names.append("Charlie")
print(names)
# Output: ['Alice', 'Bob', 'Charlie']

Appending Booleans

You can add True or False values.

status = [True, False]
status.append(True)
print(status)
# Output: [True, False, True]

Appending Other Lists (Nested Lists)

When you append another list, append() adds the entire list as a single element, creating a nested list.

list1 = [1, 2, 3]
list2 = [4, 5]
list1.append(list2)
print(list1)
# Output: [1, 2, 3, [4, 5]]

To access elements within the nested list, use multiple indices:

print(list1[3][0])
# Output: 4

Appending Tuples

append() also adds a tuple as a single element to the list.

my_list = ["a", "b"]
my_tuple = (1, 2)
my_list.append(my_tuple)
print(my_list)
# Output: ['a', 'b', (1, 2)]

Appending Dictionaries

You can add dictionaries to a list using append().

inventory = ["item1", "item2"]
new_item_details = {"name": "laptop", "quantity": 5}
inventory.append(new_item_details)
print(inventory)
# Output: ['item1', 'item2', {'name': 'laptop', 'quantity': 5}]

Building Lists with Loops

The append() method is useful for building lists incrementally, especially within loops. You can start with an empty list and add elements as you process data or gather input.

Example: Populating a List from User Input

You can create a list from values entered by a user.

user_inputs = []
while True:
    user_input = input("Enter a word (or 'quit' to stop): ")
    if user_input.lower() == 'quit':
        break
    user_inputs.append(user_input)

print("Your collected words:", user_inputs)

Example: Filtering Data into a New List

You can use a loop to process items and append only those that meet certain conditions to a new list.

all_numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = []
for number in all_numbers:
    if number % 2 == 0:
        even_numbers.append(number)

print("Even numbers:", even_numbers)
# Output: Even numbers: [2, 4, 6, 8, 10]

Important Considerations

When using append(), remember these points:

  • In-Place Modification: append() changes the original list directly. It does not create a new list.
  • Returns None: The append() method does not return the modified list. It returns None. If you try to assign the result of append() to a variable, that variable will be None.
my_list = [1, 2]
result = my_list.append(3)
print(result)  # Output: None
print(my_list) # Output: [1, 2, 3]
  • Single Element: append() always adds a single element to the list. If you want to add multiple items from an iterable (like another list or a tuple) as individual elements, use the extend() method instead.
list_a = [1, 2]
list_b = [3, 4]

list_a.append(list_b)
print(list_a)
# Output: [1, 2, [3, 4]] (list_b is added as a single element)

list_a = [1, 2] # Reset list_a
list_a.extend(list_b)
print(list_a)
# Output: [1, 2, 3, 4] (elements of list_b are added individually)

→ Explore this Curated Program for You ←

Avatar photo
Great Learning Editorial Team
The Great Learning Editorial Staff includes a dynamic team of subject matter experts, instructors, and education professionals who combine their deep industry knowledge with innovative teaching methods. Their mission is to provide learners with the skills and insights needed to excel in their careers, whether through upskilling, reskilling, or transitioning into new fields.

Full Stack Software Development Course from UT Austin

Learn full-stack development and build modern web applications through hands-on projects. Earn a certificate from UT Austin to enhance your career in tech.

4.8 ★ Ratings

Course Duration : 28 Weeks

e-Postgraduate Diploma (ePGD) in Computer Science And Engineering

Master advanced programming, AI, cybersecurity, and cutting-edge tech with world-class faculty. Earn an IIT Bombay diploma, gain alumni status, and unlock career opportunities with live mentorship and personalized support.

Course Duration : 12 months

Academy Pro Subscription

Grab 50% off
on Top Courses - Free Trial Available

×
Scroll to Top