其他
不容错过!Python列表推导式简明教程
列表解析式(List comprehension)或者称为列表推导式,是 Python 中非常强大和优雅的方法。它可以基于现有的列表做一些操作,从而快速创建新列表。在我们第一次见到列表推导式时,可能会感觉这种方法非常炫酷,因此写列表推导式是非常爽的一件事。
什么是列表推导式
如果我们有一个列表,并希望抽取列表中的元素,那么最标准的方法是使用 Python 循环,但是我们也可以直接通过列表推导式,它只需一行代码就能搞定所有操作。当然,抽取列表元素的前提是,我们要理解列表是一种可迭代对象,它允许依次读取不同的元素。
想象一下,如果动物园中有很多不同的动物,每年每一只动物都需要定期体检,那么动物园就是列表。我们可以遍历整个动物园,并依次抽取动物,抽取的动物并不做进一步的处理,直接放到体检列表中。如下所示为一般 Python 循环的做法:
# Creating our animal park
animal_park = [ Rabbit , Rabbit , Rabbit , Rabbit , Cat , Cat , Cat , Cat , Cat , Cat , Cat , Turtle , Turtle , Turtle , Turtle , Turtle , Turtle , Turtle , Dog , Dog , Kangaroo , Kangaroo , Kangaroo , Kangaroo , Kangaroo , Kangaroo ]
# Creating a new list for our animal doctor with all animals
animal_doctor = []
for animal in animal_park:
animal_doctor.append(animal)
animal_doctor = [animal for animal in animal_park]
图1:标准循环与列表推导的对比。
animal_doctor = []
for animal in animal_park:
if animal != Dog and animal != Cat :
animal_doctor.append(animal)
nimal_doctor = [animal for animal in animal_park if animal != Dog and animal != Cat ]
图2:列表推导与标准循环二者速度的对比。
B站up主用AI还原李焕英 动态影像
扫码关注码工小熊
和码工码农们一起搞事情!