九九乘法表 列表推导式
一、列表推导(Listcomprehension)
是一种简洁的语法,用于创建、转换或过滤列表的元素。它可以帮助简化常见的列表操作,使代码更加简洁易读。以下是列表推导式的一些常见用法示例
- 创建一个由数字 0 到 9 组成的列表:
numbers = [x for x in range(10)]
# 等同于 numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
将列表中的每个元素平方:
original_list = [1, 2, 3, 4, 5]
squared_list = [x**2 for x in original_list]
# 等同于 squared_list = [1, 4, 9, 16, 25]
过滤出列表中的偶数:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = [x for x in numbers if x % 2 == 0]
# 等同于 even_numbers = [2, 4, 6, 8, 10]
使用条件表达式对元素进行转换:
numbers = [1, 2, 3, 4, 5]
transformed_list = [x if x % 2 == 0 else -x for x in numbers]
# 等同于 transformed_list = [-1, 2, -3, 4, -5]
使用嵌套的循环生成多维列表:
rows = 3
cols = 3
matrix = [[(i, j) for j in range(cols)] for i in range(rows)]
# 等同于 matrix = [[(0, 0), (0, 1), (0, 2)],
# [(1, 0), (1, 1), (1, 2)],
# [(2, 0), (2, 1), (2, 2)]]
以上示例展示了列表推导式的常见用法,可以根据具体需求灵活运用。列表推导式不仅可以简化代码,还可以提高代码的可读性和表达能力。
二、九九乘法表
普通版
for i in range(1,10):
for j in range(1, i+1):
print(f'{j}*{i}={i*j}', end='\t')
print()
函数
def multiplication_table():
table = [[(i+1)*(j+1) for j in range(9)] for i in range(9)]
for row in table:
print("\t".join(str(num) for num in row))
multiplication_table()
面向对象
class MultiplicationTable:
def __init__(self, n):
self.n = n
def generate_table(self):
table = [[(i+1)*(j+1) for j in range(self.n)] for i in range(self.n)]
return table
def print_table(self):
table = self.generate_table()
for row in table:
print("\t".join(str(num) for num in row))
# 示例用法
n = 9
multiplication_table = MultiplicationTable(n)
multiplication_table.print_table()