Basic Python For ML December 12 ,2024

Module 1: Understanding Lists in Python

1.1 What is a List?

  • A list is an ordered collection of items that can hold elements of different data types, including:
    • Integers
    • Strings
    • Floating-point numbers
    • Other lists
  • Lists are similar to arrays but come with additional functionalities, making them a powerful data structure.

Example:

my_list = [1, 2, 3, "Python", [4, 5]]
print(my_list)
# Output: [1, 2, 3, 'Python', [4, 5]]

In this example:

  • The list contains integers (1, 2, 3), a string ("Python"), and a nested list ([4, 5]).

1.2 Key Characteristics of Lists

  • Ordered: The elements are stored in a specific sequence, and this order is preserved.
  • Mutable: You can modify lists by adding, removing, or changing elements.
  • Heterogeneous: A single list can store different data types.
  • Dynamic: Lists can grow or shrink in size as needed.

Module 2: Creating and Accessing Lists

2.1 How to Create a List

  • You can define a list using square brackets [] and separate elements with commas.

Examples:

# Empty List
empty_list = []

# List of Integers
int_list = [1, 2, 3, 4]

# Mixed Data Types
mixed_list = [1, "Hello", 3.14, True]

# Nested Lists
nested_list = [1, [2, 3], ["a", "b"]]

2.2 Accessing List Elements

  • Lists use zero-based indexing.
  • You can retrieve elements using their index or even access nested list elements.

Examples:

my_list = [1, 2, 3, "Python", [4, 5]]

# Accessing Single Elements
print(my_list[0])  # Output: 1
print(my_list[3])  # Output: Python

# Accessing Nested List Elements
print(my_list[4][1])  # Output: 5

Negative Indexing:

  • Use negative numbers to access elements from the end of the list.
print(my_list[-1])  # Output: [4, 5]
print(my_list[-1][0])  # Output: 4

Module 3: Modifying Lists

3.1 Adding Elements to a List

You can add elements using:

  • append(): Adds a single element to the end of the list.
  • extend(): Appends elements of another list to the current list.
  • insert(): Adds an element at a specific index.

Examples:

my_list = [1, 2, 3]

# Adding a Single Element
my_list.append(4)
print(my_list)  # Output: [1, 2, 3, 4]

# Adding Multiple Elements
my_list.extend([5, 6])
print(my_list)  # Output: [1, 2, 3, 4, 5, 6]

# Adding at a Specific Index
my_list.insert(1, "Python")
print(my_list)  # Output: [1, 'Python', 2, 3, 4, 5, 6]

3.2 Removing Elements from a List

  • remove(): Deletes the first occurrence of a specific value.
  • pop(): Removes and returns the element at a specific index (default is the last element).
  • del: Deletes an element or a slice of the list.

Examples:

my_list = [1, 2, 3, 4, 5]

# Removing a Specific Value
my_list.remove(3)
print(my_list)  # Output: [1, 2, 4, 5]

# Removing the Last Element
last_item = my_list.pop()
print(last_item)  # Output: 5
print(my_list)    # Output: [1, 2, 4]

# Removing by Index
del my_list[1]
print(my_list)  # Output: [1, 4]

Module 4: Advanced List Operations

4.1 Slicing

  • Retrieve a subset of elements using slicing syntax: list[start:end:step].

Examples:

my_list = [0, 1, 2, 3, 4, 5]

# Slice from index 1 to 4
print(my_list[1:5])  # Output: [1, 2, 3, 4]

# Every second element
print(my_list[::2])  # Output: [0, 2, 4]

# Reverse the list
print(my_list[::-1])  # Output: [5, 4, 3, 2, 1, 0]

4.2 Iterating Over Lists

Use loops to process each element in a list.

Examples:

my_list = ["Python", "Java", "C++"]

# Using a for loop
for item in my_list:
    print(item)

# Using enumerate() to get index and value
for index, value in enumerate(my_list):
    print(index, value)

4.3 Checking Membership

Use the in and not in keywords to check for an element.

Examples:

my_list = [1, 2, 3, "Python"]

print(2 in my_list)       # Output: True
print("Java" not in my_list)  # Output: True

Module 5: Summary

  • Lists are powerful, flexible, and easy to use.
  • Key operations include adding, removing, accessing, and slicing elements.
  • With their dynamic and mutable nature, lists are fundamental in Python programming.

Hands-On Practice

  • Create a list with mixed data types.
  • Add and remove elements dynamically.
  • Access nested list elements.
  • Write a function that takes a list and performs operations like reversing it and checking for membership.

This structure ensures a solid understanding of lists and prepares learners for advanced programming concepts.

 

Next Topic : Tuples in Python

 

Purnima
0

You must logged in to post comments.

Get In Touch

123 Street, New York, USA

+012 345 67890

techiefreak87@gmail.com

© Design & Developed by HW Infotech