- num=[1,2,3]
-
- myvec=[[x,x*2] for x in num]
-
- print myvec
生成鏈表很簡單的一種辦法就是鏈表推導式,不只容易看懂,還很好用:python
鏈表表達式在for語句前面,for後面就是對參數的限定。[XXX for yyy](必需要有方括號表示是鏈表),XXX表示鏈表,yyy限定XXX中參數。函數
例子:ui
- num=[1,2,3,4,5]
-
- myvec=[x*2 for x in num]
-
- print myvec
輸出:google
[2,4,6,8,10]spa
固然,不可能只有一個for這麼簡單,for後面還能夠接別的控制語句blog
代碼:ip
- num1=[1,2,3]
-
- num2=[2,3,4]
-
- myvec=[x*y for x in num1 for y in num2]#嵌套for循環的感受
-
- print myvec
輸出:get
[2,3,4,4,6,8,6,9,12]博客
另外,鏈表的表達式部分也能夠有很複雜的變化,能夠爲嵌套鏈表,也能夠是很複雜的函數構成it
代碼:
輸出:
[[1,2],[2,4],[3,6]]
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) }