列表解析 - list comprehensions

列表解析 - list comprehensions

列表解析让你只需编写一行代码就能生成这样的列表。列表解析将 for 循环和创建新元素的代码合并成一行,并自动附加新元素。
面向初学者的书籍并非都会介绍列表解析,这里之所以介绍列表解析,是因为等你开始阅读他人编写的代码时,很可能会遇到它们。
下面的示例使用列表解析创建你在前面看到的平方数列表:


#
# Created by foreverstrong
#


squares = [value**2 for value in range(1, 11)]

print(squares)

要使用这种语法,首先指定一个描述性的列表名,如 squares。然后,指定一个左方括号,并定义一个表达式,用于生成你要存储到列表中的值。在这个示例中,表达式为 value**2,它计算平方值。接下来,编写一个 for 循环,用于给表达式提供值,再加上右方括号。在这个示例中,for 循环为 for value in range(1,11),它将值 1 ~ 10 提供给表达式value**2 。 
请注意,这里的 for 语句末尾没有冒号。


/usr/bin/python3.5 /home/strong/darknet_model_validation/darknet_scripts_foreverstrong/list_comprehensions.py
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

Process finished with exit code 0

要创建自己的列表解析,需要经过一定的练习,但能够熟练地创建常规列表后,你会发现这样做是完全值得的。当你觉得编写三四行代码来生成列表有点繁复时,就应考虑创建列表解析了。

References
(美) Eric Matthes (埃里克•马瑟斯) 著, 袁国忠 译. Python编程:从入门到实践[M]. 北京:人民邮电出版社, 2016. 1-459

猜你喜欢

转载自blog.csdn.net/chengyq116/article/details/80285551