Tuples
S.Madhumalar
Assistant Professor
C.P.A College, Bodinayakanur
Tuples
t1 = (1, 2, 3)
t2 = (“a”, “b”, “c”, ”d”)
t3 = (200, “A”, [4, 5], 3.2)
print(t1)
print(t2)
print(t3)
Tuples
Examples
t1 = ("a", "b", "c")
print(t1[::-1])
t2 = ("a", "b", "c")
t3 = t1 + t2
print(t3)
t3 = t3 * 4
print(t3)
for i in t3:
print(i, end = " ")
print()
This will print the elements of t1 in
a reversed order, but will not change
t1 itself since it is immutable
This will concatenate t1 and t2 and �assign the result to t3 (again, t1 and�t2 will be unchanged since they are �immutable)
This will repeat t3 four times and �assign the result to t3. Hence,
t3 will be overwritten (i.e., NOT �changed in place- because it is immutable-, but redefined with a new value)
Examples
t4 = ((1, 2, 3), ("a", "b", "c"))
for j in t4:
for k in j:
print(k,end = " ")
print()
This is an example of nesting, where �a matrix with 2 rows and�3 columns is created. The first row �includes the elements 1, 2, and 3. �The second row includes the elements �“a”, “b”, and “c”.
This outer loop iterates over each element in t4; that is, it gets first the element (1, 2, 3) and second the element (“a”, “b”, “c”)
This inner loop iterates over each element read by the outer loop; that is, it first iterates over the elements of the element (1, 2, 3), and second it iterates over the elements of the element (“a”, “b”, “c”)
Examples
def func1(t):
t = t * 2
t = (1, 2, 3)
print(t)
func1(t)
print(t)
This will output (1, 2, 3)
This will also output (1, 2, 3) since tuples are immutable, hence, will always exhibit a passed-by-value behavior
This change on t remains local to the function�since a value of t was passed and not a �reference to it
Using Functions with Tuples
t1 = (1, 2, 3, 1, 5, 1)
print(t1.count(1))
print(t1.index(1))
The count(x) function returns the number of �elements with the specified value x (e.g., x is 1 �in this example)
The index(x) function returns the index of the first element with the specified value x (e.g., x is 1 in this example)
Output:
3
0
In fact, Python has only these two built-in functions that can be used on tuples
Towards Dictionaries
45 | “Coding” | 4.5 | 7 | 89 |
0 | 1 | 2 | 3 | 4 |
Integer �Indices
Dictionaries
dic = {"NUM":45, 1000:"coding", 2000:4.5, 3.4:7, "XXX":89}
45 | “Coding” | 4.5 | 7 | 89 |
“NUM” | 1000 | 2000 | 3.4 | “XXX” |
keys of different types
Each element is a key:value pair, and elements are separated by commas
key
value
Values of different types
Dictionaries
Output: {'a': 2, 'b': 2}
dic2 = {"a":1, "a":2, "b":2}
print(dic2)
The element “a”:2 will override the element “a”:1
because only ONE element can have key “a”
Dictionaries
Output:
{'first': {1: 1}, 'second': {2: 'a'}}
{'first': [1, 2, 3], 'second': {2: 'a'}}
def func1(d):
d["first"] = [1, 2, 3]
dic = {"first":{1:1}, "second":{2:"a"}}
print(dic)
func1(dic)
print(dic)
Dictionaries
Output:
dic = {"first": 1, "second": 2, "third": 3}
for i in dic:
print(i)
How to get the values?
first
second
third
ONLY the keys will be returned.
Dictionaries
Output:
dic = {"first": 1, "second": 2, "third": 3}
for i in dic:
print(dic[i])
1
2
3
Values can be accessed via indexing!
Adding Elements to a Dictionary
Output:
dic = {"first": 1, "second": 2, "third": 3}
print(dic)
dic["fourth"] = 4
print(dic)
{'first': 1, 'second': 2, 'third': 3}
{'first': 1, 'second': 2, 'third': 3, 'fourth': 4}
Adding Elements to a Dictionary
Output:
dic = {"first": 1, "second": 2, "third": 3}
print(dic)
dic[”second"] = 4
print(dic)
{'first': 1, 'second': 2, 'third': 3}
{'first': 1, 'second’: 4, 'third': 3}
If the key already exists, �the value will be overridden
Deleting Elements to a Dictionary
Output:
dic = {"first": 1, "second": 2, "third": 3}
print(dic)
dic["fourth"] = 4
print(dic)
del dic["first"]
print(dic)
{'first': 1, 'second': 2, 'third': 3}
{'first': 1, 'second': 2, 'third': 3, 'fourth': 4}
{'second': 2, 'third': 3, 'fourth': 4}
Deleting Elements to a Dictionary
Output:
dic = {"first": 1, "second": 2, "third": 3}
print(dic)
dic["fourth"] = 4
print(dic)
dic.pop(“first”)
print(dic)
{'first': 1, 'second': 2, 'third': 3}
{'first': 1, 'second': 2, 'third': 3, 'fourth': 4}
{'second': 2, 'third': 3, 'fourth': 4}
Dictionary Functions
Function | Description |
dic.clear() | Removes all the elements from dictionary dic |
dic.copy() | Returns a copy of dictionary dic |
dic.items() | Returns a list containing a tuple for each key-value pair in dictionary dic |
dic.get(k) | Returns the value of the specified key k from dictionary dic |
dic.keys() | Returns a list containing all the keys of dictionary dic |
dic.pop(k) | Removes the element with the specified key k from dictionary dic |
Dictionary Functions
Function | Description |
dic.popitem() | Removes the last inserted key-value pair in dictionary dic |
dic.values() | Returns a list of all the values in dictionary dic |