列表推导式在实际编程使用中还是比较多的,可以节省代码量,看得也非常直观。
今天的一道入门类型的列表推导式题。
先看题目描述:
给你两个列表,list_1和list_2,列表中的元素量是一样的,你需要通过列表推导式得到下面结果:
1.将两个列表里的每个值分别进行相乘
2.将两个列表里的每个值分别进行相加
3.将两个列表里的值对应相乘
样例:
给你
[2,4,6]
[3,5,7]
输出结果如下:
[6, 10, 14, 12, 20, 28, 18, 30, 42] [5, 7, 9, 7, 9, 11, 9, 11, 13] [6, 20, 42]
下面是我的给出的代码:
def list_expression(list_1: list, list_2: list): print([x*y for x in list_1 for y in list_2]) print([x+y for x in list_1 for y in list_2]) print([x*y for x,y in zip(list_1,list_2)])
应该是比较好理解的。
最后一个推导式,用到了zip方法,这个方法主要将两个列表进行打包成一个新的列表
比如zip(list_1,list_2)的结果如下:
[(2,4,6),(3,5,7)]
然后用x、y变量对里面的两个元组分别进行遍历。
标签: