# Tuple: ordered, immutable, allows duplicate elements
mytuple = "Max", 28, "Boston"
print(mytuple)
# Proper syntax
mytuple = ("Max")
print(type(mytuple))
mytuple = ("Max",)
print(type(mytuple))
# Obtaining tuple from a list
mytuple = tuple(['Max', 28, "Boston"])
print(mytuple)
# index
item = mytuple[0]
print(item)
item = mytuple[-1]
print(item)
# Iterate
for i in mytuple:
print(i)
if "Max" in mytuple:
print("yes")
else:
print("no")
mytuple = ('a', 'p', 'p', 'l', 'e')
print(len(mytuple))
print(mytuple.count('p'))
print(mytuple.count('l'))
print(mytuple.index('p'))
print(mytuple.index('l'))
a = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
b = a[2:5]
print(b)
# Unpacking a tuple
mytuple = "Vinit", 22, "Dharwad"
name, age, city = mytuple
print(name)
print(age)
print(city)
mytuple = (0, 1, 2, 3, 4, 5, 6, 7)
i1, *i2, i3 = mytuple
print(i1)
print(i3)
print(i2)
# Size comparison btw list and tuple
import sys
my_list = [0, 1, 2, "Hello", True]
my_tuple = (0, 1, 2, "Hello", True)
print(sys.getsizeof(my_list), "bytes")
print(sys.getsizeof(my_tuple), "bytes")
# list_size > tuple_size
# Time comparison btw list and tuple
import timeit
print(timeit.timeit(stmt="[0, 1, 2, 3, 4, 5]", number=1000000))
print(timeit.timeit(stmt="(0, 1, 2, 3, 4, 5)", number=1000000))
# list_time > tuple_time