如何用列表推导式解释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.了解更多信息。

更新于:2020年6月17日

124 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告