Я задокументировал себя относительно функциональности 'key = lambda' и нашел хорошую ссылку на ее использование:
http://www.daniweb.com/software-development/python/threads/376964
, благодаря которому я понял, что должен делать следующий код:
def _min_hull_pt_pair(hulls):
"""Returns the hull, point index pair that is minimal."""
h, p = 0, 0
for i in xrange(len(hulls)):
j = min(xrange(len(hulls[i])), key=lambda j: hulls[i][j])
if hulls[i][j] < hulls[h][p]:
h, p = i, j
return (h, p)
однако у меня проблема со следующим синтаксисом:
j = min(xrange(len(hulls[i])), key=lambda j: hulls[i][j])
Мои сомнения в том, что я учусь на питоне, хотя учусь быстро:
1 - мне нужно отследить вызовы, похожие на стек, чтобы понять, какое «тип» или, проще, «значение», которое я получаю, извлекая hulls[i][j]
? (Я читал, что python использует «типизацию утки», что объясняет эту необходимость, если я не ошибаюсь).
2- key=lambda j
в основном "извлекает" [i][j]
элемент корпуса, не так ли? Но значит ли это, что hulls[i][j]
является целочисленным типом, так как итерация for вызывает min, а для xrange
?
for
3 - необязательно: есть ли эквивалент C # или сравнимый с min
?
в Python
Заранее спасибо.