列表推导式
列表推导式
优点:简洁代码,一次性加载到内存
缺点:可读性差
列1:计算100以内的偶数的平方
#循环写法 for i in range(100): if i%2 == 0: print(i**2)
#列表推导式写法 li = [i**2 for i in range(100) if i%2 == 0] print(li)
实验1:过滤掉长度小于3的字符串,并将剩下的字母转换成为大写字母
1 l = ['alex','zhangwei','ab','assd','12312','abc'] 2 ret = [i.upper()for i in l if len(i) >= 3] 3 print(ret)
实验2: 求(x,y),其中x是0-5之间的偶数,y是0-5之间的奇,将组成一个元祖列表
1 l1 = [(x,y)for x in range(5) if x%2 == 0 for y in range(5) if y%2 == 1] 2 print(l1)
实验3:列表m = [[1,2,3],[4,5,6],[7,8,9]],求列表中元素3,6,9,将组成一个新列表
1 m=[[1,2,3],[4,5,6],[7,8,9]] 2 M = [i[2]for i in m] 3 print(M)
实验4:计算[1,-1,2]列表中每个值的平方,自带去重功能
1 l = [1,-1,2] 2 ret = {I** 2for i in l} 3 print(ret)
实验5:有一个字典dic = {'a':15,'b':20},将这个字典中的key和vaule进行对掉
1 dic = {'a':15,'b':20} 2 ret = {dic[k]:k for k in dic} 3 print(ret)