["python","list","iterable-unpacking"]
Getting only element from a single-element list in Python?

When a Python list is known to always contain a single item, is there a way to access it other than: mylist[0] You may ask, 'Why would you want to?'. Curiosity alone. There seems to be an alternative way to do everything in Python.
Raises exception if not exactly one item: Sequence unpacking: singleitem, = mylist # Identical in behavior (byte code produced is the same), # but arguably more readable since a lone trailing comma could be missed: [singleitem] = mylist # Not a fan of this one, as the comma still feels missable but the parentheses do # draw attention (they're completely superfluous), so it's less likely to be missed # Still 100% identical in behavior, with identical byte code (singleitem,) = mylist Rampant insanity, unpack the input to the identity lambda function: # The only even semi-reasonable way to retrieve a single item and raise an exception on # failure for too many, not just too few, elements as an expression, rather than a # statement, without resorting to defining/importing functions elsewhere to do the work singleitem = (lambda x: x)(*mylist) All others silently ignore spec violation for too many items, producing first or last item: Explicit use of iterator protocol: singleitem = next(iter(mylist)) Destructive pop: singleitem = mylist.pop() Negative index: singleitem = mylist[-1] Set via single iteration for (because the loop variable remains available with its last value when a loop terminates): for singleitem in mylist: break There are many others (combining or varying bits of the above, or otherwise relying on implicit iteration), but you get the idea.