在Python中,列表推导式和字典推导式是一种简洁、高效的语法,可以快速创建列表和字典。下面分别介绍列表推导式和字典推导式的用法。
列表推导式(List Comprehension):
列表推导式通过一行代码生成新的列表,语法形式为[expression for item in iterable if condition]
。示例1:生成一个包含1到10的平方数的列表
squares = [x**2 for x in range(1, 11)] print(squares) # 输出: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
示例2:筛选出一个列表中的偶数
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] even_numbers = [x for x in numbers if x % 2 == 0] print(even_numbers) # 输出: [2, 4, 6, 8, 10]
字典推导式(Dictionary Comprehension):
字典推导式通过一行代码生成新的字典,语法形式为{key_expression: value_expression for item in iterable if condition}
。示例:生成一个包含1到5的数字和它们的平方的字典
square_dict = {x: x**2 for x in range(1, 6)} print(square_dict) # 输出: {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
示例:筛选出一个字典中值为偶数的键值对
numbers = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5} even_numbers = {k: v for k, v in numbers.items() if v % 2 == 0} print(even_numbers) # 输出: {'b': 2, 'd': 4}
通过列表推导式和字典推导式,可以在代码中更加简洁地生成列表和字典。它们常用于处理数据、筛选元素、进行转换等场景。同时,推导式也支持嵌套使用和多重循环的语法,可以根据具体需求灵活调整。