Python的列表推導式,字典推導式,集合推導式使用方法


推導式分為列表推導式(list),字典推導式(dict),集合推導式(set)三種

1.列表推導式也叫列表解析式。
功能:是提供一種方便的列表創建方法,所以,列表解析式返回的是一個列表
格式:用中括號括起來,中間用for語句,后面跟if語句用作判讀,滿足條件的傳到for語句前面用作構建先的列表
[x**2 for item in item_list if item>2]

例子:

1 >>> li=[i*2 for i in range(10) if i % 2 == 0]
2 >>> print li
3  [0, 4, 8, 12, 16]
4  >>>

 

很明顯,列表解析式最擅長的方式就是對整個列表分別做相同的操作,並且返回得到一個新的列表,並不會直接返回,需要賦值給變量

2.第二種是字典解析式,這個跟列表解析式的用法是差不多的,只不中括號該改成大括號,畢竟字典本身用的就是大括號。
例子:

1 #快速兌換字典鍵—值
2 >>> mca={"a":1, "b":2, "c":3, "d":4}
3 >>> dicts={v:k for k,v in mca.items()}
4 >>> print dicts
5 {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
6 >>>

 

3.還有一種是集合推導式。
功能:集合推導式跟列表推導式差不多,都是對一個列表的元素全部執行相同的操作,
但集合是一種無重復無序的序列
區別:跟列表推到式的區別在於:1.不使用中括號,使用大括號;2.結果中無重復;3.結果是一個set()集合,集合里面是一個序列

1 >>> squared={i*2 for i in [1,1,2]}
2 >>> print squared
3 set([2, 4])
4 >>>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM