2012-08-12 4 views
4

가능한 중복을 0으로 정수에 가장 가까운을 찾을 :
finding index of an item closest to the value in a list that's not entirely sorted파이썬 - 목록에

내가 파이썬 ([237, 72, -18, 237, 236, 237, 60, -158, -273, -78, 492, 243])에 양수와 음수의 목록을 가지고있다. 0에 가장 가까운 번호를 찾고 싶습니다. 어떻게해야합니까?

+0

http://stackoverflow.com/questions/9706041/finding-index-of-an -item- 가장 가치가있는 것 중 가장 가치있는 것 전체적으로 같은 질문이 같은 질문을하고 대답 한 것처럼 보입니다. – Tim

답변

29

이 방법에 대해 :

lst = [237, 72, -18, 237, 236, 237, 60, -158, -273, -78, 492, 243] 
min((abs(x), x) for x in lst)[1] 

좋은 훨씬 짧은 대답 :

min(lst, key=abs) 
1
reduce(lambda x, y : x if abs(y) > abs(x) else y, your_sequence) 
관련 문제