2014-02-22 38 views
5

我一直在想出一行列表解析來完成以下工作:給定一個整數數組和單個整數,將其稱爲int1,我想創建一個只有0和1的新數組,使得新數組有1,如果在原始數組的其他位置有該int1的int1。Python列表解析:將數組中的所有元素設置爲0或1

有沒有辦法使True/False爲1/0在C?

array1 = [1,4,2,4,5,6,4,3] 
array2 = [x == 4 for x in array1 ] 
=> [False, True, False, True, False, False, True, False] 

回答

2

使用條件表達式。 1 if x==4 else 0或你有什麼。

+2

數組2 = [如果1×== 4否則爲0爲數組1 X]由@MrWardo建議 – MarkAWard

+1

請更正你的答案 –

2

TrueFalse已經投射到int您想要的方式。只需將它們轉換爲int直接:

>>> [int(t) for t in (True, True, False)] 
[1, 1, 0] 
相關問題