跳至主要內容

comprehensions 推导式

Entity大约 1 分钟

comprehensions 推导式

Python 中的推导式是一种简洁而强大的语法,可以用来从一个数据序列构建另一个新的数据序列的结构体。推导式适用于生成列表、字典、集合和生成器。以下是一些常见的推导式及其示例:

列表推导式

格式:[表达式 for 变量 in 列表][表达式 for 变量 in 列表 if 条件]

示例:

# 过滤掉长度小于或等于3的字符串列表,并将剩下的转换成大写字母
names = ['Bob', 'Tom', 'alice', 'Jerry', 'Wendy', 'Smith']
new_names = [name.upper() for name in names if len(name) > 3]
print(new_names)  # 输出: ['ALICE', 'JERRY', 'WENDY', 'SMITH']

字典推导式

格式:{key_expr: value_expr for value in collection}{key_expr: value_expr for value in collection if condition}

示例:

# 使用字符串及其长度创建字典
listdemo = ['Google', 'Runoob', 'Taobao']
newdict = {key: len(key) for key in listdemo}
print(newdict)  # 输出: {'Google': 6, 'Runoob': 6, 'Taobao': 6}

集合推导式

格式:{expression for item in Sequence}{expression for item in Sequence if condition}

示例:

# 计算数字1, 2, 3的平方数
setnew = {i ** 2 for i in (1, 2, 3)}
print(setnew)  # 输出: {1, 4, 9}

元组推导式(生成器表达式)

格式:(expression for item in Sequence)(expression for item in Sequence if condition)

示例:

# 生成包含数字1~9的元组
a = (x for x in range(1, 10))
print(tuple(a))  # 输出: (1, 2, 3, 4, 5, 6, 7, 8, 9)