Tuple
A tuple is an immutable list. Technically, you can do on/with tuples whatever you can do on a list that does not involve modifying it.
A tuple can be specified by using parentheses (or nothing) instead of square brackets:
my_tuple = (1, 2) other_tuple = 3, 4 try: my_tuple[1] = 3 except TypeError: print "cannot modify a tuple"
A tuple is a convenient way of returning multiple values from functions:
def sum_and_product(x, y): return (x + y), (x * y) sp = sum_and_product(2, 3) # equals (5,6) s, p = sum_and_product(5, 10) # s = 15, p = 50
Consequently, tuples can be used for multiple assignments too:
x, y = 1, 2 # x = 1, y = 2 x, y = y, x # swap: x = 2, y = 1
Set
A set represents a collection of distinct elements. It can be declared, modified and manipulated as follows:s = set() s.add(1) # s = {1} s.add(2) # s = {1, 2} s.add(2) # s = {1, 2} x = len(s) # x = 2 y = 2 in s # y = True z = 3 in s # z = False
Sets perform very well when one has to check if they contain a specific value: in is a very fast operation! So, if we have a large collection of items that we want to use for a membership test, a set is more appropriate than a list.
Moreover, if one builds a set starting from a list, what he obtains is the set of distinct values in that list:
my_list = [1, 2, 3, 2, 1, 3] item_set = set(my_list) # {1, 2, 3} distinct_elements = list(item_set) # [1, 2, 3]
Nessun commento:
Posta un commento