如何用列表推导式解释Python的for循环?
列表推导式提供了一种基于现有列表创建列表的简洁方法。使用列表推导式时,可以利用任何可迭代对象(包括字符串和元组)来构建列表。列表推导式包含一个包含表达式的可迭代对象,后跟一个for子句。这之后可以跟其他的for或if子句。
让我们来看一个基于字符串创建列表的例子
hello_letters = [letter for letter in 'hello'] print(hello_letters)
这将给出以下输出
['h', 'e', 'l', 'l', 'o']
字符串“hello”是可迭代的,并且每次循环迭代时,字母都会被赋予一个新值。这个列表推导式等价于
hello_letters = [] for letter in 'hello': hello_letters.append(letter)
你也可以在推导式中添加条件。例如,
hello_letters = [letter for letter in 'hello' if letter != 'l'] print(hello_letters)
这将给出以下输出
['h', 'e', 'o']
你可以对变量执行各种操作。例如,
squares = [i ** 2 for i in range(1, 6)] print(squares)
这将给出以下输出
[1, 4, 9, 16, 25]
这些推导式还有很多其他的用例。它们非常具有表现力和实用性。你可以在https://www.digitalocean.com/community/tutorials/understanding-list-comprehensions-in-python-3.了解更多信息。
广告