On Saturday, January 7, 2017 at 12:26:04 PM UTC+5:30, Jussi Piitulainen wrote: > Paul Rubin writes: > > > Peter Otten writes: > >> How would you implement stopmin()? > > > > Use itertools.takewhile > > How? It consumes the crucial stop element: > > it = iter('what?') > list(takewhile(str.isalpha, it)) # ==> ['w', 'h', 'a', 't'] > next(it, 42) # ==> 42
I was also wondering how… In a lazy language (eg haskell) with non-strict foldr (reduce but rightwards) supplied non-strict operator this is trivial. ie in python idiom with reduce being right_reduce reduce(operator.mul, [1,2,0,4,...], 1) the reduction would stop at the 0 Not sure how to simulate this in a strict language like python Making fold(r) non-strict by using generators is ok How to pass a non-strict operator? -- https://mail.python.org/mailman/listinfo/python-list