python 列表推导式、元组推导式 字典推导式 、三元运算符
一、基本语法结构列表推导式的基本语法结构为:[ expression for item in iterable if condition ]其中,expression表示参与列表生成的表达式,可包含变量、函数调用等操作;item表示生成列表中的元素;iterable表示可迭代的对象,例如列表、元组、集合等;if condition表示对条件的筛选,可以省略。expression表示要对每个item进行操作的表达式,item是可迭代对象中的每个元素,if condition是可选的筛选条件。在执行完毕后,将得到一个新的列表new_list。""" 生成1-9的整数列表 """myList=[xforxinrange(1,10)]# [1,2,3,4,5,6,7,8,9]print(myList)""" 生成1~9之间的整数的平方列表 """square_list=[i**2foriinrange(1,11)]# [1, 4, 9, 16, 25, 36, 49, 64, 81]print(square_list)""" 从一个字符串列表中筛选出长度超过3的字符串 """str_list=['hello','world','python','list','comprehension','study']new_list=[sforsinstr_listiflen(s)3]#print(new_list)多重循环my_list=[n*mforninrange(1,3)forminrange(1,3)]# 此处通过两层循环实现了乘法操作,即n和m分别取1、2时,它们的乘积构成了列表中的元素# [1,2,2,4]print(my_list)嵌套列表推导式有时候需要在生成一个列表时,对其中的元素进行更加复杂的操作,此时就可以使用嵌套列表推导式。嵌套列表推导式即在列表推导式的基础上再次嵌套列表推导式,其语法结构为:[ expression for item in iterable if condition for sub_item in sub_iterable if sub_condition ]其中,expression、item、iterable和condition的含义与上述基本语法结构中一致;sub_item表示在item遍历的基础上再次遍历的元素;sub_iterable表示sub_item的迭代对象;sub_condition表示对sub_item的筛选条件。matrix=[[i*jforjinrange(1,4)]foriinrange(1,4)]forrowinmatrix:print(row)""" [1, 2, 3] [2, 4, 6] [3, 6, 9] """my_list=[[[1,2