基本形式:[* for i in *]
第一个 * 为映射函数,第二 * 为可迭代对象。
映射函数可以使用函数定义、匿名函数等。
可迭代对象分为列表、元组、字典、集合、字符串等。
那么再复杂的列表推导式也不过是两者的组合。
# 1、最简单形式:生成 list1 = [ i for i in [1, 2, 3, 4, 5, 6, 7]] # 2、进一步简化:将[1, 2, 3, 4, 5, 6, 7]使用range(1, 8)进行替代 list1 = [i for i in range(1, 8)] # 3、对i进行平方再加1 list1 = [i**2+1 for i in range(1, 8)]2、条件表达式
基本形式:value = a if condition else b
例如:
value = 'a' if 2>1 else 'b'
condition可以根据实际需求进行设定
例子积累:1、列表推导式支持多层嵌套
list1 = [m+'_'+n for m in ['a', 'b'] for n in ['1', '2'] ]
结果显示:
['a_1', 'a_2', 'b_1', 'b_2']
2、列表推导式与条件赋值进行结合
# 将1~100中的数筛选出偶数,并对奇数进行删除 list1 = [ a if a%2==0 for 'a' in range(1, 101)] for i in list1: if i == 'a': list1.remove(i)



