Python3 推导式学习笔记

在 Python3 中,推导式(Comprehensions)是一种简洁且强大的语法结构,可以用来创建新的数据结构,例如列表、集合和字典。它们通常比使用循环或函数更快、更可读和更简洁。

列表推导式

列表推导式是最常见的推导式。它允许我们从一个列表中快速创建另一个列表。

pythonCopy Code
squares = [x**2 for x in range(1, 6)] print(squares)

输出:

Copy Code
[1, 4, 9, 16, 25]

上面的代码使用列表推导式创建了一个包含前5个自然数平方的列表。列表推导式的语法非常简单:只需将要生成的元素放在方括号中,并指定必要的条件。

pythonCopy Code
even_squares = [x**2 for x in range(1, 6) if x % 2 == 0] print(even_squares)

输出:

Copy Code
[4, 16]

上面的代码创建了一个包含前5个自然数中偶数的平方值的列表。

集合推导式

集合推导式与列表推导式非常相似。但是,集合推导式使用大括号(而不是方括号)来表示结果集合。

pythonCopy Code
squares_set = {x**2 for x in range(1,6)} print(squares_set)

输出:

Copy Code
{1, 4, 9, 16, 25}

上面的代码创建了与列表推导式相同的结果集合。

字典推导式

字典推导式允许我们快速创建新字典。与列表推导式类似,字典推导式也使用大括号括起来,并通过键-值对表示字典项。

pythonCopy Code
fruit_ranking = {"apple": 1, "banana": 2, "orange": 3, "peach": 4, "pear":5} fruit_ranking_reverse = {rank:fruit for fruit,rank in fruit_ranking.items()} print(fruit_ranking_reverse)

输出:

Copy Code
{1: 'apple', 2: 'banana', 3: 'orange', 4: 'peach', 5: 'pear'}

上面代码中,我们首先创建了一个字典 fruit_ranking,其中包含水果和它们的排名。然后,我们使用字典推导式创建了一个新的字典 fruit_ranking_reverse,其中旧字典的键变成了新字典的值,而旧字典的值则成为新字典的键。

总结:

推导式是 Python3 的一种强大而简洁的语法结构,可以帮助我们快速创建新的数据结构。不仅可以在列表、集合和字典中使用,还可以通过嵌套多个推导式来创建更复杂的数据结构。在编写 Python3 代码时,使用推导式通常可以减少代码量、提高可读性和效率。