看板 Python 關於我們 聯絡資訊
※ 引述《wil771126 (雨的印記)》之銘言: : 我有一個資料結構 需要兩層list來紀錄 如下: : li = [[0,'a',2], : [0,'b',1], : [1,'a',2], : [2,'b',0]] : 我想蒐集其中的子list(3個一組的那部份)第一項為0的部份 : for i in range(3): : if i in ??? : .... : 我的想法是要多一層迴圈 : for i in range(3): : for j in li: : if i in j[0]: : ... : 但感覺這樣的程式可讀性會降低 有沒有人有其他想法呢 : 對不吝分享的大大先說生謝謝 [i for i in li if i[0] == 0] 這是 List Comprehensions (可參考http://www.secnetix.de/olli/Python/list_comprehensions.hawk 本來我也是不會用 現在看懂了覺得還蠻方便的 (效能不知道) 可以拆成三部份來看 [ i for i in li if i[0] ==0 ] (0) (1) (2) (3) (0) 會跑過所有的i(在li裡) (2) 並在i[0] == 0 (3) 時 把 i (1) 放入list (0)中 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.63.180
hilorrk:我一直到學會comprehension 才知到為什麼叫"for"迴圈 10/26 05:17