列表理解为基于现有列表创建列表提供了一种简洁的方法。使用列表推导时,可以利用包括字符串和元组在内的任何可迭代对象来构建列表。列表推导式由一个迭代器组成,该迭代器包含一个表达式,后跟一个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中了解有关它们的更多信息。