Comment

Comment by benkuykendall

My favorite function here is more_itertools.one. Especially in something like a unit test, where ValueErrors from unexpected conditions are desirable, we can use it to turn code like

  results = list(get_some_stuff(...))
  assert len(results) = 1
  result = results[0]
into

  result = one(get_some_stuff(...))
I guess you could also use tuple-unpacking:

  result, = get_some_stuff(...)
But the syntax is awkward to unpack a single item. Doesn't that trailing comma just look implausible? (Also I've worked with type-checkers that will complain when a tuple-unpacking could potentially fail, while one has a clear type signatures Iterable[T] -> T.)

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton