推导式分为列表推导式(list),字典推导式(dict),集合推导式(set)三种
1.列表推导式也叫列表解析式。
功能:是提供一种方便的列表创建方法,所以,列表解析式返回的是一个列表
格式:用中括号括起来,中间用for语句,后面跟if语句用作判读,满足条件的传到for语句前面用作构建先的列表
>>>li = [i*2 for i in range (10) if i % 2 == 0] >>>print(li) [0,4,8,12,16]
2.字典推导式
这个跟列表推导式的用法差不多,只不过中括号改成大括号,毕竟字典本身用的就是大括号。
>>>mca = {'a':1,'b':2,'c':3,'d':4} >>>dict = {v,k for k,v in mca.items()} >>>print(dict) {1:'a',2:'b',3:'c',4:'d'}
3.集合推导式
功能:集合推导式跟列表推导式差不多,都是对一个列表的元素全部执行相同的操作,蛋集合推导式是一种无重复无序的序列
区别:跟列表推导式的区别在于:1.不适应中括号,使用大括号;2.j结果中无重复;3.结果是一个set()集合,集合里面是一个序列
>>>squared = {i*2 for i in[1,1,2]} >>>print(squared) set([2,4])