Python List Tutorial with Examples

Introduction

A list in Python is an ordered collection of mutable items, meaning its elements can be changed. Lists can contain elements of different types, including integers, strings, and other lists. They are defined by placing items inside square brackets [], separated by commas.

This tutorial covers various operations and features of lists, including creating, accessing, modifying, and removing items, as well as advanced concepts like list comprehension, sorting, copying, and nested lists.

Table of Contents

  1. Define List and Key Points
  2. Create List
  3. Add List Items
  4. Access List Items
  5. Change List Items
  6. Remove List Items
  7. Loop Lists
  8. List Comprehension
  9. Sort Lists
  10. Copy Lists
  11. Join Lists
  12. Nested Lists
  13. List Methods
  14. Conclusion

Key Points about List Data Structure in Python

A list is a collection of items in a particular order. Lists are:

  • Ordered: The items have a defined order.
  • Mutable: The items can be changed.
  • Heterogeneous: Items can be of different data types.
  • Indexed: Each item is accessible using its index.

1. Create List

Lists are created by placing items inside square brackets [], separated by commas.

Example

# Creating a list
my_list = [1, 2, 3, "hello", 4.5]
print(my_list)  # Output: [1, 2, 3, 'hello', 4.5]

2. Add List Items

You can add items to a list using methods like append(), insert(), and extend().

Example

# Using append() to add an item to the end of the list
my_list.append("world")
print(my_list)  # Output: [1, 2, 3, 'hello', 4.5, 'world']

# Using insert() to add an item at a specific position
my_list.insert(1, "Python")
print(my_list)  # Output: [1, 'Python', 2, 3, 'hello', 4.5, 'world']

# Using extend() to add multiple items
my_list.extend([5, 6, 7])
print(my_list)  # Output: [1, 'Python', 2, 3, 'hello', 4.5, 'world', 5, 6, 7]

3. Access List Items

List items can be accessed using their index. Indexing starts at 0.

Example

# Accessing list items
print(my_list[0])  # Output: 1
print(my_list[3])  # Output: 'hello'

4. Change List Items

List items can be changed by assigning a new value to a specific index.

Example

# Changing list items
my_list[1] = "Java"
print(my_list)  # Output: [1, 'Java', 2, 3, 'hello', 4.5, 'world', 5, 6, 7]

5. Remove List Items

Items can be removed from a list using methods like remove(), pop(), and del.

Example

# Using remove() to remove a specific item
my_list.remove("Java")
print(my_list)  # Output: [1, 2, 3, 'hello', 4.5, 'world', 5, 6, 7]

# Using pop() to remove an item at a specific index
popped_item = my_list.pop(3)
print(popped_item)  # Output: 'hello'
print(my_list)  # Output: [1, 2, 3, 4.5, 'world', 5, 6, 7]

# Using del to remove an item at a specific index
del my_list[4]
print(my_list)  # Output: [1, 2, 3, 4.5, 5, 6, 7]

6. Loop Lists

You can loop through the items in a list using a for loop.

Example

# Looping through a list
for item in my_list:
    print(item)

# Output:
# 1
# 2
# 3
# 4.5
# 5
# 6
# 7

7. List Comprehension

List comprehension provides a concise way to create lists.

Example

# Using list comprehension to create a list of squares
squares = [x**2 for x in range(10)]
print(squares)  # Output: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

8. Sort Lists

Lists can be sorted using the sort() method or the sorted() function.

Example

# Sorting a list in ascending order
numbers = [5, 2, 9, 1, 5, 6]
numbers.sort()
print(numbers)  # Output: [1, 2, 5, 5, 6, 9]

# Sorting a list in descending order
numbers.sort(reverse=True)
print(numbers)  # Output: [9, 6, 5, 5, 2, 1]

# Using sorted() to sort a list without modifying the original list
numbers = [5, 2, 9, 1, 5, 6]
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # Output: [1, 2, 5, 5, 6, 9]
print(numbers)  # Output: [5, 2, 9, 1, 5, 6]

9. Copy Lists

Lists can be copied using the copy() method or the list() function.

Example

# Using copy() method
original_list = [1, 2, 3]
copied_list = original_list.copy()
print(copied_list)  # Output: [1, 2, 3]

# Using list() function
copied_list = list(original_list)
print(copied_list)  # Output: [1, 2, 3]

10. Join Lists

Lists can be joined using the + operator or the extend() method.

Example

# Using + operator
list1 = [1, 2, 3]
list2 = [4, 5, 6]
joined_list = list1 + list2
print(joined_list)  # Output: [1, 2, 3, 4, 5, 6]

# Using extend() method
list1.extend(list2)
print(list1)  # Output: [1, 2, 3, 4, 5, 6]

11. Nested Lists

Lists can contain other lists as elements, creating nested lists.

Example

# Creating a nested list
nested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(nested_list)  # Output: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# Accessing elements in a nested list
print(nested_list[0][1])  # Output: 2
print(nested_list[2][0])  # Output: 7

12. List Methods

Python lists have several built-in methods, including append(), extend(), insert(), remove(), pop(), clear(), index(), count(), sort(), reverse(), and copy().

Example

# Using various list methods
example_list = [3, 1, 4, 1, 5, 9, 2]

example_list.append(6)
print(example_list)  # Output: [3, 1, 4, 1, 5, 9, 2, 6]

example_list.extend([5, 3])
print(example_list)  # Output: [3, 1, 4, 1, 5, 9, 2, 6, 5, 3]

example_list.insert(0, 0)
print(example_list)  # Output: [0, 3, 1, 4, 1, 5, 9, 2, 6, 5, 3]

example_list.remove(1)
print(example_list)  # Output: [0, 3, 4, 1, 5, 9, 2, 6, 5, 3]

popped_item = example_list.pop()
print(popped_item)  # Output: 3
print(example_list)  # Output: [0, 3, 4, 1, 5, 9, 2, 6, 5]

example_list.clear()
print(example_list)  # Output: []

Conclusion

Python lists are powerful and versatile data structures that allow you to store and manipulate collections of items. Understanding how to create, access, modify, and perform operations on lists is essential for effective programming in Python. This tutorial covered various aspects of lists, including creating, adding, accessing, changing, and removing items, as well as advanced topics like list comprehension, sorting, copying, joining, nested lists, and list methods. By mastering these concepts, you can efficiently work with lists in your Python programs.

Comments