Python3 推导式学习笔记
在 Python3 中,推导式(Comprehensions)是一种简洁且强大的语法结构,可以用来创建新的数据结构,例如列表、集合和字典。它们通常比使用循环或函数更快、更可读和更简洁。
列表推导式
列表推导式是最常见的推导式。它允许我们从一个列表中快速创建另一个列表。
pythonCopy Codesquares = [x**2 for x in range(1, 6)]
print(squares)
输出:
Copy Code[1, 4, 9, 16, 25]
上面的代码使用列表推导式创建了一个包含前5个自然数平方的列表。列表推导式的语法非常简单:只需将要生成的元素放在方括号中,并指定必要的条件。
pythonCopy Codeeven_squares = [x**2 for x in range(1, 6) if x % 2 == 0]
print(even_squares)
输出:
Copy Code[4, 16]
上面的代码创建了一个包含前5个自然数中偶数的平方值的列表。
集合推导式
集合推导式与列表推导式非常相似。但是,集合推导式使用大括号(而不是方括号)来表示结果集合。
pythonCopy Codesquares_set = {x**2 for x in range(1,6)}
print(squares_set)
输出:
Copy Code{1, 4, 9, 16, 25}
上面的代码创建了与列表推导式相同的结果集合。
字典推导式
字典推导式允许我们快速创建新字典。与列表推导式类似,字典推导式也使用大括号括起来,并通过键-值对表示字典项。
pythonCopy Codefruit_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 代码时,使用推导式通常可以减少代码量、提高可读性和效率。