列表推导式

推导式

定义:列表推导式是python最受欢迎的功能之一,利用它可以非常高效的构造新的列表:只需一条简洁的代码,即可对于族元素进行过滤,并对得到的元素执行变形,基本的语法结构如下:

[exp for val in collection if condition]

eg 1:

[alist = i*i for i in range (1,11) if (i % 2) == 0]    #从一到十所有偶数的平方
print (alist)

结果:[4,16,36,64,100]

eg 2:

strs = ['py', 'tuple', 'list', 'python', 'p', 'Pip']
strs = [str.upper() for str in strs if len(str) > 2]
print(strs)

结果:[‘TUPLE’, ‘LIST’, ‘PYTHON’, ‘PIP’]

上面eg1的代码相当于下面这段循环

 alist = []
   ...: for i inrange[1,11]:
   ...:     if (i % 2) == 0:
   ...:         alist.append(i*i)

集合和字典的推导式是这种思想的一种自然延续,他们语法差不多,产生的结果分别是集合和字段。字典推导式的语法形式如下:

dict_comp = {key-expr: value-expr for value in collection if> condition}

集合推导式与列表推导式非常相似,唯一区别在于它使用的是大括号(花括号)而不是中括号(方括号),如下:

set_comp = {expr for value in collection if condition}

你可能感兴趣的:(列表推导式)