知识点:
1、列表推导式
基本形式:[* 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)