• 推导式试题


    #(1).{'x': 'A', 'y': 'B', 'z': 'C' } 把字典写成x=A,y=B,z=C的列表推导式
    dic = {'x': 'A', 'y': 'B', 'z': 'C' }
    # for  a,b in dic.items():
    	# print(a,b)
    res = [a+"="+b for a,b in dic.items() ]
    print(res)
    
    # (2).把列表中所有字符变成小写  ["ADDD","dddDD","DDaa","sss"]
    lst = ["ADDD","dddDD","DDaa","sss"]
    res = [i.lower() for i in  lst ]
    print(res)
    
    # (3).x是0-5之间的偶数,y是0-5之间的奇数 把x,y组成一起变成元组,放到列表当中
    # (0 2 4 )
    # (1 3 5)
    # (0 1) (0 3) (0 5)
    # (2 1) (2 3) (2 5)
    # (4 1) (4 3) (4 5)
    lst_new = []
    
    for i in range(0,6):
    	if i % 2 == 0:
    		for j in range(0,6):
    			if j % 2 == 1:
    				lst_new.append( (i,j) )
    
    print(lst_new)
    
    # 写法一
    res = [(i,j) for i in range(0,6) if i % 2 == 0 for j in range(0,6) if j % 2 == 1  ]
    print(res)
    lst_new2 = []
    for i in range(0,6):
    	for j in range(0,6):
    		if i % 2==0 and j %2 ==1:
    			lst_new2.append( (i,j) )
    print(lst_new2)
    
    
    # 写法二
    res = [(i,j) for  i in range(0,6) for j  in range(0,6) if i % 2 == 0 and j % 2 == 1 ]
    print(res)
    
    
    
    # (4).使用列表推导式 制作所有99乘法表中的运算
    for i in range(1,10):
    	for j in range(1,i+1):
    		# print("%d*%d=%2d " % (i,j,i*j))
    		print("{:d} * {:d} = {:2d} ".format(i,j,i*j) ,end="")
    		
    	print()
    
    # 写法一
    res = ["{:d} * {:d} = {:2d} ".format(i,j,i*j) for i in range(1,10) for j in range(1,i+1)]
    print(res)
    
    for i in range(9,0,-1):
    	for j in range(1,i+1):
    		# print("%d*%d=%2d " % (i,j,i*j))
    		print("{:d} * {:d} = {:2d} ".format(i,j,i*j) ,end="")
    		
    	print()	
    # 写法二
    res = ["{:d} * {:d} = {:2d} ".format(i,j,i*j) for i in range(9,0,-1) for j in range(1,i+1)]
    print(res)
    
    '''
    (5)#求M,N中矩阵和元素的乘积
    # M = [ [1,2,3], 
    #       [4,5,6], 
    #       [7,8,9]  ] 
    
    # N = [ [2,2,2], 
    #       [3,3,3], 
    #       [4,4,4]  ] 
    =>实现效果1   [2, 4, 6, 12, 15, 18, 28, 32, 36]
    =>实现效果2   [[2, 4, 6], [12, 15, 18], [28, 32, 36]]
    '''
    M = [[1,2,3],[4,5,6],[7,8,9]]
    N = [[2,2,2],[3,3,3],[4,4,4]]
    
    # M[0][0] * N[0][0] = 2
    # M[0][1] * N[0][1] = 4
    # M[0][2] * N[0][2] = 6
    
    
    # M[1][0] * N[1][0] = 12
    # M[1][1] * N[1][1] = 15
    # M[1][2] * N[1][2] = 18
    
    
    # M[2][0] * N[2][0] = 28
    # M[2][1] * N[2][1] = 32
    # M[2][2] * N[2][2] = 36
    
    # 效果1  # i=> 0 1 2  j=> 0 1 2 i动的慢 j动的块
    res = [M[i][j] * N[i][j] for i in range(3) for j in range(3) ]
    print(res) #[2, 4, 6, 12, 15, 18, 28, 32, 36]
    
    #=>实现效果2   [    [2, 4, 6], [12, 15, 18], [28, 32, 36]    ]
    
    # [] [] [] 
    '''
    第一步遍历三个空列表
    [ []  for i in range(3)  ]
    第二部在空列表里面在写一个推导式遍历对应的元素
    [M[i][j] * N[i][j]  for j in range(3)]
    '''
    res = [   [M[i][j] * N[i][j]  for j in range(3)]  for i in range(3)   ]
    print(res) #[[2,4,6], [], []]
    

      

  • 相关阅读:
    线性基学习笔记
    内网靶机-抓取票据
    域渗透
    flex元素的使用
    webpack 基本使用
    ES模块的导入
    作用域插槽
    具名插槽的使用
    slot插槽的基本使用
    vue中父子组件的访问方式
  • 原文地址:https://www.cnblogs.com/huangjiangyong/p/10907978.html
Copyright © 2020-2023  润新知