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 »