Difference between Python `append` and `extend`?
The difference between append() and extend() in Python lies in how they add elements to a list. 1. append() adds a single element as-is, potentially creating a nested list if the input is a list. 2. extend() unpacks an iterable and adds each element individually, resulting in a flat list. For example, my_list.append([4,5]) results in [1,2,3,[4,5]], while my_list.extend([4,5]) results in [1,2,3,4,5]. Use append() for adding one item or intentionally nesting lists, and extend() for merging sequences into a flat list.
When working with lists in Python, two commonly used methods for adding elements are append()
and extend()
. While they might seem similar at first glance, they behave quite differently — especially when it comes to how they add data to a list.

What append()
Does
The append()
method adds a single element to the end of a list. That element can be anything: a number, a string, another list, or any other object.

Here's what happens:
- The item is added as-is, without being broken down.
- If you append a list, it becomes a nested list inside the original one.
Example:

my_list = [1, 2, 3] my_list.append([4, 5]) print(my_list) # Output: [1, 2, 3, [4, 5]]
So, if you're only looking to tack on one thing — whether it’s a single value or another list as a whole — append()
is the way to go.
How extend()
Is Different
The extend()
method takes an iterable (like a list, tuple, string, etc.) and adds each of its elements to the end of the original list — individually.
This means:
- It unpacks or "flattens" the input before adding.
- It doesn't create nested structures unless the elements themselves are lists.
Example:
my_list = [1, 2, 3] my_list.extend([4, 5]) print(my_list) # Output: [1, 2, 3, 4, 5]
You can also do things like:
my_list.extend("abc") # Result: [1, 2, 3, 4, 5, 'a', 'b', 'c']
So if your goal is to merge two sequences into one flat list, extend()
is usually the better choice.
When to Use Which?
Use append()
when:
- You want to add a single item (even if that item is a list).
- You intentionally want to create a nested structure.
Use extend()
when:
- You’re adding multiple items from an iterable.
- You want to combine lists without nesting.
A few quick examples to clarify:
- Adding one number → use
append()
- Merging two lists → use
extend()
- Adding a sublist as a separate chunk → use
append()
- Flattening a string or tuple into a list → use
extend()
Common Mistakes and Gotchas
- Forgetting that
extend()
works only with iterables. So trying something likemy_list.extend(5)
will throw an error because integers aren’t iterable. - Confusing the output format — expecting
append()
to flatten a list, which it won’t. - Using
append()
when you meant to expand a list and ending up with deeply nested structures by accident.
If you're ever unsure, just remember:
-
append()
adds one thing as it is. -
extend()
unpacks and adds many things one by one.
So yeah, the difference boils down to whether you want to keep the added item whole (append
) or spread it out (extend
). Once you get that distinction, choosing between them becomes pretty straightforward.
The above is the detailed content of Difference between Python `append` and `extend`?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Table of Contents What is sentiment analysis in cryptocurrency trading? Why sentiment analysis is important in cryptocurrency investment Key sources of emotion data a. Social media platform b. News media c. Tools for sentiment analysis and technology Commonly used tools in sentiment analysis: Techniques adopted: Integrate sentiment analysis into trading strategies How traders use it: Strategy example: Assuming BTC trading scenario scenario setting: Emotional signal: Trader interpretation: Decision: Results: Limitations and risks of sentiment analysis Using emotions for smarter cryptocurrency trading Understanding market sentiment is becoming increasingly important in cryptocurrency trading. A recent 2025 study by Hamid

UseSublimeText’sbuildsystemtorunPythonscriptsandcatcherrorsbypressingCtrl Baftersettingthecorrectbuildsystemorcreatingacustomone.2.Insertstrategicprint()statementstocheckvariablevalues,types,andexecutionflow,usinglabelsandrepr()forclarity.3.Installth

When processing large data sets that exceed memory in Python, they cannot be loaded into RAM at one time. Instead, strategies such as chunking processing, disk storage or streaming should be adopted; CSV files can be read in chunks through Pandas' chunksize parameters and processed block by block. Dask can be used to realize parallelization and task scheduling similar to Pandas syntax to support large memory data operations. Write generator functions to read text files line by line to reduce memory usage. Use Parquet columnar storage format combined with PyArrow to efficiently read specific columns or row groups. Use NumPy's memmap to memory map large numerical arrays to access data fragments on demand, or store data in lightweight data such as SQLite or DuckDB.

Make sure that Python is installed and added to the system PATH, run python--version or python3--version verification through the terminal; 2. Save the Python file as a .py extension, such as hello.py; 3. Create a custom build system in SublimeText, Windows users use {"cmd":["python","-u","$file"]}, macOS/Linux users use {"cmd":["python3

To debug Python scripts, you need to first install the Python extension and configure the interpreter, then create a launch.json file to set the debugging configuration, then set a breakpoint in the code and press F5 to start the debugging. The script will be paused at the breakpoint, allowing checking variables and step-by-step execution. Finally, by checking the problem by viewing the console output, adding logs or adjusting parameters, etc., to ensure that the debugging process is simple and efficient after the environment is correct.

ToautomaticallyformatPythoncodeinVSCode,installBlackusingpipinstallblack,installtheofficialMicrosoftPythonextension,setBlackastheformatterinsettings.jsonwith"python.formatting.provider":"black",enableformatonsavebyadding"edit

InstallSublimeTextandPython,thenconfigureabuildsystembycreatingaPython3.sublime-buildfilewiththeappropriatecmdandselectorsettingstoenablerunningPythonscriptsviaCtrl B.2.OrganizeyourprojectbycreatingadedicatedfolderwithPythonfilesandsupportingdocument

asyncio.Queue is a queue tool for secure communication between asynchronous tasks. 1. The producer adds data through awaitqueue.put(item), and the consumer uses awaitqueue.get() to obtain data; 2. For each item you process, you need to call queue.task_done() to wait for queue.join() to complete all tasks; 3. Use None as the end signal to notify the consumer to stop; 4. When multiple consumers, multiple end signals need to be sent or all tasks have been processed before canceling the task; 5. The queue supports setting maxsize limit capacity, put and get operations automatically suspend and do not block the event loop, and the program finally passes Canc
