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