Python Lists

Comprehensive guide to Python lists including creation, access, modification, slicing, sorting, and list comprehensions.

Defining Lists

# Making a list
users = ['val', 'bob', 'mia', 'ron', 'ned']

# Accessing elements
first = users[0]  # val
second = users[1]  # bob
last = users[-1]  # ned (last item)

Modifying Lists

# Changing an element
users[0] = 'valerie'
users[-2] = 'ronald'

# Adding elements
users.append('amy')  # add to end
users.insert(0, 'joe')  # insert at position

# Removing elements
del users[-1]  # delete by position
users.remove('mia')  # remove by value

List Length

# Find length of a list
num_users = len(users)
print(f"We have {num_users} users.")

Sorting Lists

# Sort permanently
users.sort()  # alphabetical order
users.sort(reverse=True)  # reverse order

# Sort temporarily
print(sorted(users))
print(sorted(users, reverse=True))

Slicing Lists

finishers = ['kai', 'abe', 'ada', 'gus', 'zoe']

# Get first three items
first_three = finishers[:3]  # ['kai', 'abe', 'ada']

# Get middle items
middle = finishers[1:4]  # ['abe', 'ada', 'gus']

# Get last three items
last_three = finishers[-3:]  # ['ada', 'gus', 'zoe']

List Comprehensions

# Using loop to generate squares
squares = []
for x in range(1, 11):
    square = x**2
    squares.append(square)

# Using comprehension (shorter)
squares = [x**2 for x in range(1, 11)]

# With condition
evens = [x for x in range(20) if x % 2 == 0]