# 定义空列表,存放1-10的偶数 l1=[] # 从1-10遍历 如果i%2==0证明是偶数则添加至空列表中 for i in range(1,11): if i %2==0: l1.append(i) print(l1) #列表推导式 l2=[x for x in range(1,11) if x%2==0] print(l2) [1,2,3,4] """ 列表推导式语法 1.简单版语法:【表达式 for 变量 in 可迭代对象】 2.带条件无else: [表达式 for 变量 in 可迭代对象 if 条件语句] 3.带条件且有else:[表达式 if 条件语句 else 条件语句 for 变量 in 可迭代对象] """ #练习2:生成一个0-9的偶数列表 #x代表向列表中添加的元素,x来自于后面for循环,但是x要满足后面if条件才往列表中添加 lst2=[x for x in range(0,10) if x % 2 == 0] print(lst2) #练习3:生成一个0-10的列表,其中偶数加2 ,奇数+1 #x 如果满足条件语句就执行if前面的x+2,如果不满足则执行else后面的x+1 lst3=[x+2 if x%2==0 else x+1 for x in range(11)] print(lst3) """ 多个for循环: 假如要生成一个列表,每个元素由1-4的奇数,和1-4的偶数对应:[(1, 2), (1, 4), (3, 2), (3, 4)] """ l1=[] for i in range(1,5): if i%2!=0: for j in range(1,5): if j%2==0: l1.append((i,j)) print(l1) # (i,j)是要添加到列表的数据变量 # i的取值 第一个for i in range(1,5) 条件是i%2!=0 # j的取值 第二个for j in range(1,5) 条件是j%2==0 l3 = [(i, j) for i in range(1, 5) if i % 2 != 0 for j in range(1, 5) if j % 2 == 0] print(l3) """ 推导式扩展 不止列表有推导式,还有字典推导式,集合推导式(语法相同只是外边[]变成{}) """ dict1={'name':'jimi','age':300} #k的值是age时产生一个新的字典 d1={k:v for k,v in dict1.items() if k is 'age' } print(d1)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交