→ amulet5566:if 1 in List: pass 03/10 11:42
→ amulet5566:看錯題意了 抱歉 03/10 11:43
→ amulet5566:for i in List: if i != 1: print('QQ') 請自行換行 03/10 11:45
→ ptthidebear:我是想要在一行判斷式內解決,因為有全1與非全1的情況 03/10 12:35
→ juiz:import numpy as np; if (np.array(lst)==val).all(): blah 03/10 12:40
推 Holocaust123:if ( set(li) == set([1]) ): print 'all 1' 03/10 13:18
→ Holocaust123:if(len(filter(lambda x:x!=1, li) )==0): #all 1 03/10 13:21
→ Holocaust123:if(len([e for e in li if e!=1]==0)): #all 1 03/10 13:25
→ ptthidebear:感謝大大們提供的方式!!! 03/10 16:14
感謝樓上大大們提供的方式!!!
小弟還有一個問題是
假設list內是有分 [A, B, C, D]
我也是要一行內做判斷是不是都是1
只是判斷的不是A B C D
而是 A.status, B.status, C.status 和 D.status
這個要怎麼辦呢~"~?
該不會 if(len[e.status for e in list if e!=1]==0) 就好了吧XD?
感謝大大們的解答Orz
※ 編輯: ptthidebear 來自: 140.123.105.206 (03/10 16:20)
→ KSJ:不是… 03/10 17:52
→ ptthidebear:我耍蠢...Orz 謝謝KSJ大大! 03/11 08:48
→ tan2:if all(alist == 1): ... (since python 2.5) 03/12 11:34
→ tan2:if all(e.status==1 for e in alist): ... 03/12 11:37
→ Holocaust123:樓樓上應該是"if(all(i==1 for i in alist)):"吧? 03/12 22:18
→ Holocaust123:all()裡面的必須是iterable, alist==1並不是iterable 03/12 22:19
→ tan2:XD... 多謝樓上指正,我是numpy用太習慣了 03/15 08:42
→ apua:雖然方法不少,但就題意來說,用all是比較直覺且可讀 03/17 13:26
→ opiumeater:if all(li)==1:print 'all 1' 03/24 23:06