python中的鏈表推導式

Python代碼   收藏代碼
  1. num=[1,2,3]  
  2.   
  3. myvec=[[x,x*2] for x in num] #嵌套一個鏈表,格式爲一個數和他的平方  
  4.   
  5. print myvec  
 

  生成鏈表很簡單的一種辦法就是鏈表推導式,不只容易看懂,還很好用:python

     鏈表表達式在for語句前面,for後面就是對參數的限定。[XXX for yyy](必需要有方括號表示是鏈表),XXX表示鏈表,yyy限定XXX中參數。函數

例子:ui

 

Python代碼   收藏代碼
  1. num=[1,2,3,4,5]  
  2.   
  3.   myvec=[x*for x in num]   
  4.   
  5.   print myvec  
 

輸出:google

[2,4,6,8,10]spa

固然,不可能只有一個for這麼簡單,for後面還能夠接別的控制語句blog

   代碼:ip

 

Python代碼   收藏代碼
  1. num1=[1,2,3]  
  2.   
  3.   num2=[2,3,4]  
  4.   
  5.   myvec=[x*y for x in num1 for y in num2]#嵌套for循環的感受  
  6.   
  7.   print myvec  
 

輸出:get

  [2,3,4,4,6,8,6,9,12]博客

另外,鏈表的表達式部分也能夠有很複雜的變化,能夠爲嵌套鏈表,也能夠是很複雜的函數構成it

 代碼:

 


輸出:

[[1,2],[2,4],[3,6]]

====================================================
yanggg 註釋
odoo
    def _count_all(self, cr, uid, ids, field_name, arg, context=None):         return {             purchase.id: {                 'shipment_count': len(purchase.picking_ids),                 'invoice_count': len(purchase.invoice_ids),                             }             for purchase in self.browse(cr, uid, ids, context=context)         }
相關文章
相關標籤/搜索