当我们写代码的时候有时会出现这样的情况。
a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
一个一个的打感觉好无聊,好慢。有没有简单便捷一点的方法呢?答案是:当然有。
今天我们来看一下Python中的推导式,可以有效的提高我们在面对这种很长的元素时的效率。
Python中的推导式(comprehension)是一种简洁而强大的语法,用于从一个可迭代对象(如列表、元组、集合、字典等)中快速构建出新的数据结构。主要有列表推导式、集合推导式、字典推导式和生成器表达式四种形式。
1. 列表推导式
l = [i for i in range(1,17)]
print(l)
如图,可以看到是用来一个for循环来实现的,后面还能跟if函数来筛选。
2.集合推导式
s = {i for i in range(1,17)}
print(t, type(t))
集合的推导式和列表类似
3.字典推导式
d = {f'keys{i}': f'value{i}' for i in range(1,17)}
print(d)
字典中要明确键值对
4.生成器表达式(元组推导式)
t = (i for i in range(1,17))
print(t)
print(list(t))
元组和其他三个不太一样,使用圆括号 ()
来创建一个生成器对象,而不是一个列表。生成器表达式是一种惰性计算的方式,逐个生成值,节省内存。可以用list()来将它转换成元组。
推导式使得在Python中进行数据转换和筛选变得更加简洁和可读,是Python语言中常用的高效编程技巧之一。