Python List Comprehension Examples

Common Python list comprehension patterns with examples

python (3.10) 2025-12-31 AI Generated python list_comprehension examples

Description

A collection of Python list comprehension examples demonstrating various use cases including filtering, transformation, and nested comprehensions.

Code

RAW
#!/usr/bin/env python3"""Basic Python List Comprehension ExamplesThis module demonstrates common list comprehension patterns in Python."""# Example 1: Basic list comprehension# Create a list of squares for numbers 0-9squares = [x**2 for x in range(10)]# Example 2: List comprehension with condition# Create a list of even numbers from 0-19evens = [x for x in range(20) if x % 2 == 0]# Example 3: List comprehension with transformation# Convert temperatures from Celsius to Fahrenheitcelsius_temps = [0, 10, 20, 30, 40]fahrenheit_temps = [(temp * 9/5) + 32 for temp in celsius_temps]# Example 4: Nested list comprehension# Create a multiplication table (10x10)multiplication_table = [[i * j for j in range(1, 11)] for i in range(1, 11)]# Example 5: List comprehension with multiple conditions# Find numbers divisible by 2 and 3 from 0-49numbers = [x for x in range(50) if x % 2 == 0 and x % 3 == 0]# Example 6: List comprehension with function# Convert strings to uppercasegreetings = ['hello', 'world', 'python', 'list', 'comprehension']uppercase_greetings = [greeting.upper() for greeting in greetings]# Example 7: List comprehension with if-else# Categorize numbers as even or oddnumber_categories = ['even' if x % 2 == 0 else 'odd' for x in range(10)]# Example 8: List comprehension with dictionary# Extract keys from a dictionaryperson = {'name': 'Alice', 'age': 30, 'city': 'New York'}keys = [key for key in person]# Example 9: List comprehension with set# Remove duplicates from a listnumbers_with_duplicates = [1, 2, 2, 3, 4, 4, 5, 5, 5]unique_numbers = list({x for x in numbers_with_duplicates})# Example 10: List comprehension with enumerate# Create a list of tuples with index and valueindexed_values = [(index, value) for index, value in enumerate(['a', 'b', 'c', 'd'])]if __name__ == '__main__':    print('Squares:', squares)    print('Evens:', evens)    print('Fahrenheit Temps:', fahrenheit_temps)    print('Multiplication Table (first 3 rows):', multiplication_table[:3])    print('Numbers divisible by 2 and 3:', numbers)    print('Uppercase Greetings:', uppercase_greetings)    print('Number Categories:', number_categories)    print('Dictionary Keys:', keys)    print('Unique Numbers:', unique_numbers)    print('Indexed Values:', indexed_values)
RAW
#!/usr/bin/env python3"""Advanced Python List Comprehension ExamplesThis module demonstrates more complex list comprehension patterns."""# Example 1: Flatten a nested listnested_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]flattened = [item for sublist in nested_list for item in sublist]# Example 2: Cartesian productcolors = ['red', 'green', 'blue']sizes = ['S', 'M', 'L']cartesian_product = [(color, size) for color in colors for size in sizes]# Example 3: Matrix transpositionmatrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]transposed = [[row[i] for row in matrix] for i in range(len(matrix[0]))]# Example 4: List comprehension with zipnames = ['Alice', 'Bob', 'Charlie']ages = [25, 30, 35]people = [{'name': name, 'age': age} for name, age in zip(names, ages)]# Example 5: List comprehension with file operations# Read lines from a file (assuming file exists)# lines = [line.strip() for line in open('example.txt') if line.strip()]# Example 6: List comprehension with exception handlingnumbers = ['1', '2', 'three', '4', 'five']valid_numbers = [int(x) for x in numbers if x.isdigit()]# Example 7: List comprehension with method callsclass Person:    def __init__(self, name, age):        self.name = name        self.age = age        def is_adult(self):        return self.age >= 18people_objects = [Person('Alice', 25), Person('Bob', 17), Person('Charlie', 30)]adults = [person.name for person in people_objects if person.is_adult()]# Example 8: List comprehension with lambdanumbers = [1, 2, 3, 4, 5]squared = list(map(lambda x: x**2, numbers))# Example 9: List comprehension with multiple inputsnumbers1 = [1, 2, 3]numbers2 = [4, 5, 6]sums = [x + y for x, y in zip(numbers1, numbers2)]# Example 10: List comprehension with generator expression# Process large data efficientlydef generate_large_data(n):    for i in range(n):        yield ilarge_data = list(generate_large_data(1000))even_large_numbers = [x for x in large_data if x % 2 == 0]if __name__ == '__main__':    print('Flattened List:', flattened)    print('Cartesian Product:', cartesian_product)    print('Transposed Matrix:', transposed)    print('People:', people)    print('Valid Numbers:', valid_numbers)    print('Adults:', adults)    print('Squared Numbers:', squared)    print('Sums:', sums)    print('Even Large Numbers (first 10):', even_large_numbers[:10])
RAW
#!/usr/bin/env python3"""Test cases for list comprehension examplesThis module contains unit tests for the list comprehension examples."""import unittestfrom basic_examples import (    squares, evens, fahrenheit_temps, multiplication_table, numbers,    uppercase_greetings, number_categories, keys, unique_numbers, indexed_values)from advanced_examples import (    flattened, cartesian_product, transposed, people, valid_numbers,    adults, squared, sums, even_large_numbers)class TestBasicExamples(unittest.TestCase):    def test_squares(self):        self.assertEqual(squares, [0, 1, 4, 9, 16, 25, 36, 49, 64, 81])        def test_evens(self):        self.assertEqual(evens, [0, 2, 4, 6, 8, 10, 12, 14, 16, 18])        def test_fahrenheit_temps(self):        self.assertEqual(fahrenheit_temps, [32.0, 50.0, 68.0, 86.0, 104.0])        def test_multiplication_table(self):        self.assertEqual(multiplication_table[0], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])        self.assertEqual(multiplication_table[9], [10, 20, 30, 40, 50, 60, 70, 80, 90, 100])        def test_numbers(self):        self.assertEqual(numbers, [0, 6, 12, 18, 24, 30, 36, 42, 48])        def test_uppercase_greetings(self):        self.assertEqual(uppercase_greetings, ['HELLO', 'WORLD', 'PYTHON', 'LIST', 'COMPREHENSION'])        def test_number_categories(self):        self.assertEqual(number_categories, ['even', 'odd', 'even', 'odd', 'even', 'odd', 'even', 'odd', 'even', 'odd'])        def test_keys(self):        self.assertEqual(keys, ['name', 'age', 'city'])        def test_unique_numbers(self):        self.assertEqual(unique_numbers, [1, 2, 3, 4, 5])        def test_indexed_values(self):        self.assertEqual(indexed_values, [(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')])class TestAdvancedExamples(unittest.TestCase):    def test_flattened(self):        self.assertEqual(flattened, [1, 2, 3, 4, 5, 6, 7, 8, 9])        def test_cartesian_product(self):        self.assertEqual(len(cartesian_product), 9)        self.assertIn(('red', 'S'), cartesian_product)        self.assertIn(('blue', 'L'), cartesian_product)        def test_transposed(self):        self.assertEqual(transposed, [[1, 4, 7], [2, 5, 8], [3, 6, 9]])        def test_people(self):        self.assertEqual(len(people), 3)        self.assertEqual(people[0], {'name': 'Alice', 'age': 25})        def test_valid_numbers(self):        self.assertEqual(valid_numbers, [1, 2, 4])        def test_adults(self):        self.assertEqual(adults, ['Alice', 'Charlie'])        def test_squared(self):        self.assertEqual(squared, [1, 4, 9, 16, 25])        def test_sums(self):        self.assertEqual(sums, [5, 7, 9])        def test_even_large_numbers(self):        self.assertEqual(len(even_large_numbers), 500)        self.assertEqual(even_large_numbers[:5], [0, 2, 4, 6, 8])if __name__ == '__main__':    unittest.main()

Comments

No comments yet. Be the first to comment!