2013-12-03 4 views
1

요소의 배열을보고 싶습니다. 요소가 특정 값인 x을 초과하면 다른 값인 y으로 바꿉니다. 대체해야 할 요소가 될 수 있습니다. 한 번에이 작업을 수행 할 수있는 기능 (코드)이 있습니까? 나는 for 루프를 사용하고 싶지 않다. any() 함수가 여기에서 도움이됩니까? 감사합니다.파이썬 배열의 요소 대체하기

+0

"array"란 말은'list'입니까? – DSM

답변

2

나는 if 문 없이는 어떻게 이런 일을 성취 할 수 있는지 정말 모르겠다.

any() 모르겠지만 루프가 필요하지 않으므로 map으로 시도해 보았습니다. 그러나 복잡성 순서 (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] 

기본적으로, If an element exceeds a certain value x, replaces it with another value y 같은 x if x < 3 else 2 작동합니다.

+1

목록의 람다보다 목록의 이해력이 낫다고 생각합니다. – Dani

+0

@Dani OP는 'for'를 사용하지 않으므로 목록 이해가되지 않습니다. –