Getting one value from a tuple

BCS picture BCS · Jun 28, 2010 · Viewed 349.2k times · Source

Is there a way to get one value from a tuple in Python using expressions?

def tup():
  return (3, "hello")

i = 5 + tup()  # I want to add just the three

I know I can do this:

(j, _) = tup()
i = 5 + j

But that would add a few dozen lines to my function, doubling its length.

Answer

David Z picture David Z · Jun 28, 2010

You can write

i = 5 + tup()[0]

Tuples can be indexed just like lists.

The main difference between tuples and lists is that tuples are immutable - you can't set the elements of a tuple to different values, or add or remove elements like you can from a list. But other than that, in most situations, they work pretty much the same.