Tuples are one of the basic data types in Python. Tuples are widely used in Python programming and have very simple syntax. In this article, we will see various Tuple operations like indexing, slicing, packing, unpacking, comparison, concatenation, repetition, updating and deleting a tuple, in-built functions for tuples, membership, iteration etc.
You can also download my Jupyter notebook containing below code.
Declaration
tup1 = ()
tup2 = (50, )
tup3 = (50, 8)
tup4 = 'a', 'b', 'c', 'd'
x, y = 1, 2;
print(tup1, tup2, tup3, tup4)
print(x, y)
Output
() (50,) (50, 8) ('a', 'b', 'c', 'd')
1 2
Indexing and Slicing
tup5 = ('a', 'b', 100, 'abc', 'xyz', 2.5);
tup6 = (1, 2, 3, 4, 5, 6, 7);
print(tup5[0], tup5[1], tup5[-1], tup5[-2])
print(tup6[0:4])
print(tup6[:])
print(tup6[:4])
print(tup6[1:])
print(tup6[1:4])
print(tup6[1:-1])
print(tup6[1:-2])
Output
a b 2.5 xyz
(1, 2, 3, 4)
(1, 2, 3, 4, 5, 6, 7)
(1, 2, 3, 4)
(2, 3, 4, 5, 6, 7)
(2, 3, 4)
(2, 3, 4, 5, 6)
(2, 3, 4, 5)
Packing and Unpacking
In packing, we place value into a new tuple while in unpacking we extract those values back into variables.
x = ('Google', 208987, 'Software Engineer')
print(x[1])
print(x[-1])
(company, emp_no, profile) = x
print(company)
print(emp_no)
print(profile)
Output
208987
Software Engineer
Google
208987
Software Engineer
Comparison
a = (5, 6)
b = (1, 4)
if(a > b): print('a is bigger')
else: print('b is bigger')
Output: a is bigger
a = (5, 6)
b = (5, 4)
if(a > b): print('a is bigger')
else: print('b is bigger')
Output: a is bigger
a = (5, 6)
b = (6, 4)
if(a > b): print('a is bigger')
else: print('b is bigger')
Output: b is bigger
Concatenation
a = (1, 1.5)
b = ('abc', 'xyz')
c = a + b
print(c)
Output: (1, 1.5, 'abc', 'xyz')
Repetition
a = (1, 1.5)
b = a * 3
print(b)
Output: (1, 1.5, 1, 1.5, 1, 1.5)
Update Tuple
Tuples are immutable which means you cannot update or change the values of tuple elements. It does not support item assignment.
a = (1, 1.5)
b = ('abc', 'xyz')
a[0] = 2; #TypeError: 'tuple' object does not support item assignment
Delete Tuple
Tuples are immutable and cannot be deleted, but deleting tuple entirely is possible by using the keyword "del."
a = (5, 6)
print(a)
del a
print(a) #NameError: name 'a' is not defined
In-built Functions
a = (5, 2, 8, 3, 6, 2, 5, 5)
print('Length:', len(a))
print('Min:', min(a))
print('Max:', max(a))
print('Count of 5:', a.count(5))
print('Index of 2:', a.index(2))
print('Sorted:', sorted(a))
print('Tuple:', tuple(a))
print('List:', list(a))
Output
Length: 8
Min: 2
Max: 8
Count of 5: 3
Index of 2: 1
Sorted: [2, 2, 3, 5, 5, 5, 6, 8]
Tuple: (5, 2, 8, 3, 6, 2, 5, 5)
List: [5, 2, 8, 3, 6, 2, 5, 5]
Membership
3 in (1, 2, 3)
Output: True
tuple_alphabets = ('a', 'b', 'c', 'd', 'e')
if 'c' in tuple_alphabets:
print('Found')
else:
print('Not Found')
Output: Found
Iteration
Iterating through tuple is faster than with list, since tuples are immutable.
for x in (1, 2, 3):
print (x)
Output
1
2
3
Tuple in Dictionary
Dictionary can return the list of tuples by calling items, where each tuple is a key value pair.
a = {'x':100, 'y':200}
b = (a.items())
c = list(a.items())
print(a)
print(b)
print(c)
Output
{'x': 100, 'y': 200}
dict_items([('x', 100), ('y', 200)])
[('x', 100), ('y', 200)]
You can also download my Jupyter notebook containing below code.
Declaration
tup1 = ()
tup2 = (50, )
tup3 = (50, 8)
tup4 = 'a', 'b', 'c', 'd'
x, y = 1, 2;
print(tup1, tup2, tup3, tup4)
print(x, y)
Output
() (50,) (50, 8) ('a', 'b', 'c', 'd')
1 2
Indexing and Slicing
tup5 = ('a', 'b', 100, 'abc', 'xyz', 2.5);
tup6 = (1, 2, 3, 4, 5, 6, 7);
print(tup5[0], tup5[1], tup5[-1], tup5[-2])
print(tup6[0:4])
print(tup6[:])
print(tup6[:4])
print(tup6[1:])
print(tup6[1:4])
print(tup6[1:-1])
print(tup6[1:-2])
Output
a b 2.5 xyz
(1, 2, 3, 4)
(1, 2, 3, 4, 5, 6, 7)
(1, 2, 3, 4)
(2, 3, 4, 5, 6, 7)
(2, 3, 4)
(2, 3, 4, 5, 6)
(2, 3, 4, 5)
Packing and Unpacking
In packing, we place value into a new tuple while in unpacking we extract those values back into variables.
x = ('Google', 208987, 'Software Engineer')
print(x[1])
print(x[-1])
(company, emp_no, profile) = x
print(company)
print(emp_no)
print(profile)
Output
208987
Software Engineer
208987
Software Engineer
Comparison
a = (5, 6)
b = (1, 4)
if(a > b): print('a is bigger')
else: print('b is bigger')
Output: a is bigger
a = (5, 6)
b = (5, 4)
if(a > b): print('a is bigger')
else: print('b is bigger')
Output: a is bigger
a = (5, 6)
b = (6, 4)
if(a > b): print('a is bigger')
else: print('b is bigger')
Output: b is bigger
Concatenation
a = (1, 1.5)
b = ('abc', 'xyz')
c = a + b
print(c)
Output: (1, 1.5, 'abc', 'xyz')
Repetition
a = (1, 1.5)
b = a * 3
print(b)
Output: (1, 1.5, 1, 1.5, 1, 1.5)
Update Tuple
Tuples are immutable which means you cannot update or change the values of tuple elements. It does not support item assignment.
a = (1, 1.5)
b = ('abc', 'xyz')
a[0] = 2; #TypeError: 'tuple' object does not support item assignment
Tuples are immutable and cannot be deleted, but deleting tuple entirely is possible by using the keyword "del."
a = (5, 6)
print(a)
del a
print(a) #NameError: name 'a' is not defined
In-built Functions
a = (5, 2, 8, 3, 6, 2, 5, 5)
print('Length:', len(a))
print('Min:', min(a))
print('Max:', max(a))
print('Count of 5:', a.count(5))
print('Index of 2:', a.index(2))
print('Sorted:', sorted(a))
print('Tuple:', tuple(a))
print('List:', list(a))
Output
Length: 8
Min: 2
Max: 8
Count of 5: 3
Index of 2: 1
Sorted: [2, 2, 3, 5, 5, 5, 6, 8]
Tuple: (5, 2, 8, 3, 6, 2, 5, 5)
List: [5, 2, 8, 3, 6, 2, 5, 5]
Membership
3 in (1, 2, 3)
Output: True
tuple_alphabets = ('a', 'b', 'c', 'd', 'e')
if 'c' in tuple_alphabets:
print('Found')
else:
print('Not Found')
Output: Found
Iteration
Iterating through tuple is faster than with list, since tuples are immutable.
for x in (1, 2, 3):
print (x)
Output
1
2
3
Tuple in Dictionary
Dictionary can return the list of tuples by calling items, where each tuple is a key value pair.
a = {'x':100, 'y':200}
b = (a.items())
c = list(a.items())
print(a)
print(b)
print(c)
Output
{'x': 100, 'y': 200}
dict_items([('x', 100), ('y', 200)])
[('x', 100), ('y', 200)]
No comments:
Post a Comment