2013-12-03 33 views
1

我想查看一組元素。如果元素超過某個值x,請用另一個值y替換它。它可能是一堆需要替換的元素。有沒有一個函數(代碼)一次做到這一點。我不想使用for循環。 any()函數在這裏有幫助嗎? 謝謝在Python中替換數組中的元素

+0

「array」,你的意思是'list'嗎? – DSM

回答

2

我真的不知道如果沒有if聲明可能實現這樣的事情。

不知道any()但我給它一個嘗試與map因爲你不想for循環。但是,請注意複雜性順序(Big O)仍然是n

>>> array = [1, 2, 3, 4, 2, -2, -3, 8, 3, 0] 
>>> array = map(lambda x: x if x < 3 else 2, array) 
>>> array 
[1, 2, 2, 2, 2, -2, -3, 2, 2, 0] 

基本上,x if x < 3 else 2作品像If an element exceeds a certain value x, replaces it with another value y

+1

我認爲列表理解優於地圖lambda。 – Dani

+0

@Dani OP不想使用'for',因此沒有列表理解。 –