Python tuple
A tuple is a sequence of immutable Python objects. Tuples are sequences, just like lists. The main difference between the tuples and the lists is that the tuples cannot be changed unlike lists. Tuples use parentheses (), whereas lists use square [] brackets.
Tuple is similar to list. Only the difference is that list is enclosed between square bracket, tuple between parenthesis and List has mutable objects whereas Tuple has immutable objects.
tuple=() #empty tuple
Example : Creating a tuple is as simple as putting different comma-separated values. Optionally, you can put these comma-separated values between parentheses also.
t1=('a','b',1,2,3.14,"ApkZube")
t2="a", "b", "c", "d"
#tuple contain other list and tuple
t3 =(1,2,3,['a','b','c'],('z',26))
print(t1)
print(t2)
print(t3)
output of above example :
('a', 'b', 1, 2, 3.14, 'ApkZube')
('a', 'b', 'c', 'd')
(1, 2, 3, ['a', 'b', 'c'], ('z', 26))
For a single valued tuple, there must be a comma at the end of the value.
t1=(5,)
print(t1)
output of above example :
(5,)
Accessing Values in Tuples
To access values in tuple, use the square brackets for slicing along with the index or indices to obtain the value available at that index. For example -
tuple[index]
slice operator syntax :
tuple[start : stop : step]
by default step is +1
t=(3,7,4,2)
print(t[2])
print(t[1:3])
print(t[-4:-2])
print(t[-1 : : -1]) #start from -1 and step =-1 so its basicly return reverse tuple
output of above example :
4
(7, 4)
(3, 7)
(2, 4, 7, 3)
interation tuple using for loop is same as list :
t=("apkzube",'xyz',1,2,3)
for x in t:
print(x)
ouput :
apkzube
xyz
1
2
3
Tuple Operations
Python allows us to perform various operations on the tuple. Following are the common tuple operations.
- Adding Tuples
Tuple can be added by using the concatenation operator(+) to join two tuples this create new tuple.
Note: The new sequence formed is a new Tuple.
Example :
t1=(1,2,3)
t2=('x','y','z')
t3=t1+t2
print(t3)
output of above example :
(1, 2, 3, 'x', 'y', 'z')
- Replicating Tuple
Replicating means repeating. It can be performed by using '*' operator by a specific number of time.
Example :
t1=(1,2,3)
t2=('x','y','z')
print(t1*2)
print(t2*3)
output of above example :
(1, 2, 3, 1, 2, 3)
('x', 'y', 'z', 'x', 'y', 'z', 'x', 'y', 'z')
- Updating Tuples
Tuples are immutable, which means you cannot update or change the values of tuple elements. You are able to take portions of the existing tuples to create new tuples as the following example -
t1 = (1, 2,3)
t2 = ('abc', 'xyz')
# Following action is not valid for tuples
# t1[0] = 4;
# So let's create a new tuple as follows
t3 = t1 + t2
print (t3)
output of above example :
(1, 2, 3, 'abc', 'xyz')
- Delete Tuple Elements
Removing individual tuple elements is not possible. There is, of course, nothing wrong with putting together another tuple with the undesired elements discarded.To explicitly remove an entire tuple, just use the del statement. For example −
t = ('apkZube', 'python', 1, 2);
print (t)
del t;
print ("After deleting t :")
print (t)
output of above example :
('apkZube', 'python', 1, 2)
After deleting t :
Traceback (most recent call last):
File "main.py", line 15, in
print (t)
NameError: name 't' is not defined
Built-in Tuple Functions
fun | Description |
---|---|
cmp(t1, t2) | Compares elements of both tuples (py 2.x). In Python 3 the cmp built-in function was removed |
len(tuple) | Gives the total length of the tuple. |
max(tuple) | Returns item from the tuple with max value. |
min(tuple) | Returns item from the tuple with min value. |
tuple(seq) | Converts a sequence into tuple. |
- len(tuple) - The len() method returns the number of elements in the tuple.
Example :
t1= (1,2,3,4,5)
t2 = ('x','y','z',[1,2],3)
print(len(t1))
print(len(t2))
output of above example :
5
5
- max(tuple) - The max() method returns the elements from the tuple with maximum value. Type of element should be same otherwise complier throw TypeError.
Example :
t1= (1,2,3,4,5)
t2 = ('x','y','z')
print(max(t1))
print(max(t2))
output of above example :
5
z
- min(tuple) - The min() method returns the elements from the tuple with minimum value. Type of element should be same otherwise complier throw TypeError.
Example :
t1= (1,2,3,4,5)
t2 = ('x','y','z')
print(min(t1))
print(min(t2))
output of above example :
1
x
- tuple(seq) - The tuple() method converts a list of items into tuples.
Example :
s="apkzube"
t1=tuple(s)
list=[1,2,3]
t2=tuple(list)
print(t1)
print(t2)
output of above example :
('a', 'p', 'k', 'z', 'u', 'b', 'e')
(1, 2, 3)
Why should wee use Tuple? (Advantages of Tuple)
- Processing of Tuples are faster than Lists.
- It makes the data safe as Tuples are immutable and hence cannot be changed.
- Tuples are used for string formatting.