您将如何解释 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. 上了解更多相关信息。

更新于: 17-6-2020

124 次浏览

开始你的 职业生涯

通过完成本课程获得认证

开始学习
广告