"""tuples
http://openbookproject.net/thinkcs/python/english2e/ch11.html#tuples-and-mutability
"""
# A tuple is like a list - it is a sequence of elements that can be accessed
# by their index.
# The difference - tuples are immutable
# A tuple can be defined using syntax similar to a list, with
# parentheses replacing square brackets:
tup = (1, 5, 10, 20)
# it is possible to eliminate the parentheses:
tup = 1, 5, 10, 20
# It is slightly tricky to create a tuple with a single element:
tup = 5,
# or
tup = (5,)
# tuples support the same indexing and slice operations as strings and lists
# like lists you can't modify a tuple:
tup = ('a', 'b', 'c', 'd', 'e')
# now try modifying tup[0]:
tup[0] = 'z'
# when returning multiple objects from a function, you typically do so
# as a tuple:
def myfunc() :
return 3,5,10
# you can now call this function as:
x,y,z = myfunc()
# or
tup = myfunc()
# and check that this is indeed a tuple:
print type(tup)
# tuples are particularly useful as keys for dictionaries
