Tuples In Python
A Tuple is a collection of Python objects separated by commas. In someways a tuple is similar to a list in terms of indexing, nested objects and repetition but a tuple is immutable unlike lists which are mutable.
Creating Tuples
# An empty tuple empty_tuple = () print (empty_tuple) |
Output:
() |
# Creating non-empty tuples # One way of creation tup = 'python', 'easy' print(tup) # Another for doing the same tup = ('python', 'easy') print(tup) |
Output
('python', 'easy') ('python', 'easy') |
Note:
In case your generating a tuple with a single element, make sure to add a comma after the element.
Concatenation of Tuples
# Code for concatenating 2 tuples tuple1 = (0, 1, 2, 3) tuple2 = ('python', 'easy') # Concatenating above two print(tuple1 + tuple2) |
Output:
(0, 1, 2, 3, 'python', 'easy') |
Nesting of Tuples
# Code for creating nested tuples tuple1 = (0, 1, 2, 3) tuple2 = ('python', 'easy') tuple3 = (tuple1, tuple2) print(tuple3) |
Output :
((0, 1, 2, 3), ('python', 'easy')) |
Repetition in Tuples
# Code to create a tuple with repetition tuple3 = ('python',)*3 print(tuple3) |
Output
('python', 'python', 'python') Try the above without a comma sand check. You will get tuple3 as a string ‘pythonpythonpython’. |
Immutable Tuples
#code to test that tuples are immutable tuple1 = (0, 1, 2, 3) tuple1[0] = 4 print(tuple1) |
Output
Traceback (most recent call last): File "e0eaddff843a8695575daec34506f126.py", line 3, in tuple1[0]=4 TypeError: 'tuple' object does not support item assignment |
Slicing in Tuples
# code to test slicing tuple1 = (0 ,1, 2, 3) print(tuple1[1:]) print(tuple1[::-1]) print(tuple1[2:4]) |
Output
(1, 2, 3) (3, 2, 1, 0) (2, 3) |
Deleting a Tuple
# Code for deleting a tuple tuple3 = ( 0, 1) del tuple3 print(tuple3) |
Error:
Traceback (most recent call last): File "d92694727db1dc9118a5250bf04dafbd.py", line 6, in <module> print(tuple3) NameError: name 'tuple3' is not defined |
Output:
(0, 1) |
Finding Length of a Tuple
# Code for printing the length of a tuple tuple2 = ('python', 'easy') print(len(tuple2)) |
Output
2 |
Converting list to a Tuple
# Code for converting a list and a string into a tuple list1 = [0, 1, 2] print(tuple(list1)) print(tuple('python')) # string 'python' |
Output
(0, 1, 2) ('p', 'y', 't', 'h', 'o', 'n') |
Takes a single parameter which may be a list,string,set or even a dictionary( only keys are taken as elements) and converts them to a tuple.
Tuples in a loop
#python code for creating tuples in a loop tup = ('easy',) n = 5 #Number of time loop runs for i in range(int(n)): tup = (tup,) print(tup) |
Output :
(('easy',),) ((('easy',),),) (((('easy',),),),) ((((('easy',),),),),) (((((('easy',),),),),),) |
Using cmp(), max() , min()
# A python program to demonstrate the use of # cmp(), max(), min() tuple1 = ('python', 'easy') tuple2 = ('coder', 1) if (cmp(tuple1, tuple2) != 0): # cmp() returns 0 if matched, 1 when not tuple1 # is longer and -1 when tuple1 is shoter print('Not the same') else: print('Same') print ('Maximum element in tuples 1,2: ' + str(max(tuple1)) + ',' + str(max(tuple2))) print ('Minimum element in tuples 1,2: ' + str(min(tuple1)) + ',' + str(min(tuple2))) |
Output
Not the same Maximum element in tuples 1,2: python,coder Minimum element in tuples 1,2: easy,1 |
Note:
max() and min() checks the based on ASCII values. If there are two strings in a tuple, then the first different character in the strings are checked.
« Previous Next »