This post explains the data structures used in Python. It is essential to understand the data structures in a programming language. In python, there are many data structures available. They are as follows :
Python Data Structures
1. Strings
Python String is a sequence of characters.
How to create a string in Python
You can create Python string using a single or double quote.
Output:
How to include quotes within a string?
How to extract Nth letter or word?
You can use the syntax below to get first letter.
To pull last letter, you can use -1 as index.
To get first word
Output : ['Hi', 'How', 'are', 'you?']
2. mystring.split('')[0] tells Python to pick first word of a string.
2. List
Unlike String, List can contain different types of objects such as integer, float, string etc.
Get List Item
We can extract list item using Indexes. Index starts from 0 and end with (number of elements-1).
To select multiple elements from a list, you can use the following method :
Add 5 to each element of a list
In the program below, len() function is used to count the number of elements in a list. In this case, it returns 5. With the help of range() function, range(5) returns 0,1,2,3,4.
It can also be written like this -
Sum of values of two list
Repeat List N times
The '*' operator is repeating list N times.
Note : The above two methods also work for string list.
Modify / Replace a list item
Suppose you need to replace third value to a different value.
Add / Remove a list item
We can add a list item by using append method.
Sort list
3. Tuple
Like list, tuple can also contain mixed data. But tuple cannot be changed or altered once created whereas list can be modified. Another difference is a tuple is created inside parentheses ( ). Whereas, list is created inside square brackets [ ]
Examples
Tuple cannot be altered
Run the following command and check error
4. Dictionary
It works like an address book wherein you can find an address of a person by searching the name. In this example. name of a person is considered as key and address as value. It is important to note that the key must be unique while values may not be. Keys should not be duplicate because if it is a duplicate, you cannot find exact values associated with key. Keys can be of any data type such as strings, numbers, or tuples.
Create a dictionary
It is defined in curly braces {}. Each key is followed by a colon (:) and then values.
Find Values
Add an item
- strings
- lists
- tuples
- dictionaries
- sets
Python Data Structures
Python String is a sequence of characters.
How to create a string in Python
You can create Python string using a single or double quote.
mystring = "Hello Python3.6"Output:
print(mystring)
Hello Python3.6
Can I use multiple single or double quotes to define string?
Answer is Yes. See examples below -
Multiple Single Quotes
Answer is Yes. See examples below -
Multiple Single Quotes
mystring = '''Hello Python3.6'''Output:
print(mystring)
Hello Python3.6Multiple Double Quotes
mystring = """Hello Python3.6"""
print(mystring)
Hello Python3.6
How to include quotes within a string?
mystring = r'Hello"Python"'Output:
print(mystring)
Hello"Python"
How to extract Nth letter or word?
You can use the syntax below to get first letter.
mystring = 'Hi How are you?'Output
mystring[0]
'H'
mystring[0] refers to first letter as indexing in python starts from 0. Similarly, mystring[1] refers to second letter.
To pull last letter, you can use -1 as index.
mystring[-1]
To get first word
mystring.split('')[0]Output : Hi
How it works -
1. mystring.split('') tells Python to use space as a delimiter.
Output : ['Hi', 'How', 'are', 'you?']
2. mystring.split('')[0] tells Python to pick first word of a string.
2. List
Unlike String, List can contain different types of objects such as integer, float, string etc.
- x = [142, 124, 234, 345, 465]
- y = [‘A’, ‘C’, ‘E’, ‘M’]
- z = [‘AA’, 44, 5.1, ‘KK’]
We can extract list item using Indexes. Index starts from 0 and end with (number of elements-1).
k = [124, 225, 305, 246, 259]
k[0]
k[1]
k[-1]
k[0]Explanation :
124
k[1]
225
k[-1]
259
k[0] picks first element from list. Negative sign tells Python to search list item from right to left. k[-1] selects the last element from list.
To select multiple elements from a list, you can use the following method :
k[:3] returns [124, 225, 305]
Add 5 to each element of a list
In the program below, len() function is used to count the number of elements in a list. In this case, it returns 5. With the help of range() function, range(5) returns 0,1,2,3,4.
x = [1, 2, 3, 4, 5]
for i in range(len(x)):
x[i] = x[i] + 5
print(x)
[6, 7, 8, 9, 10]
It can also be written like this -
for i in range(len(x)):
x[i] += 5
print(x)
Combine / Join two lists
The '+' operator is concatenating two lists.
The '+' operator is concatenating two lists.
X = [1, 2, 3]
Y = [4, 5, 6]
Z = X + Y
print(Z)
[1, 2, 3, 4, 5, 6]
Sum of values of two list
X = [1, 2, 3]
Y = [4, 5, 6]
import numpy as np
Z = np.add(X, Y)
print(Z)
print(Z)Similarly, you can use np.multiply(X, Y) to multiply values of two list.
[5 7 9]
Repeat List N times
The '*' operator is repeating list N times.
X = [1, 2, 3]
Z = X * 3
print(Z)
[1, 2, 3, 1, 2, 3, 1, 2, 3]
Note : The above two methods also work for string list.
Modify / Replace a list item
Suppose you need to replace third value to a different value.
X = [1, 2, 3]
X[2]=5
print(X)
print(X)
[1, 2, 5]
Add / Remove a list item
We can add a list item by using append method.
X = ['AA', 'BB', 'CC']
X.append('DD')
print(X)
Result : ['AA', 'BB', 'CC', 'DD']
Similarly, we can remove a list item by using remove method.
X = ['AA', 'BB', 'CC']
X.remove('BB')
print(X)
Result : ['AA', 'CC']
Sort list
k = [124, 225, 305, 246, 259]Output : [124, 225, 246, 259, 305]
k.sort()
print(k)
3. Tuple
Like list, tuple can also contain mixed data. But tuple cannot be changed or altered once created whereas list can be modified. Another difference is a tuple is created inside parentheses ( ). Whereas, list is created inside square brackets [ ]
Examples
mytuple = (123,223,323)Perform for loop on Tuple
City = ('Delhi','Mumbai','Bangalore')
for i in City:
print(i)
Delhi
Mumbai
Bangalore
Tuple cannot be altered
Run the following command and check error
X = (1, 2, 3)
X[2]=5
TypeError:'tuple' object does not support item assignment
It works like an address book wherein you can find an address of a person by searching the name. In this example. name of a person is considered as key and address as value. It is important to note that the key must be unique while values may not be. Keys should not be duplicate because if it is a duplicate, you cannot find exact values associated with key. Keys can be of any data type such as strings, numbers, or tuples.
Create a dictionary
It is defined in curly braces {}. Each key is followed by a colon (:) and then values.
teams = {'Dave' : 'team A',
'Tim' : 'team B',
'Babita' : 'team C',
'Sam' : 'team B',
'Ravi' : 'team C'
}
Find Values
teams['Sam']
Output :'team B'
Delete an item
del teams['Ravi']
Add an item
teams['Deep'] = 'team B'
Output :
{'Babita': 'team C',
'Dave': 'team A',
'Deep': 'team B',
'Sam': 'team B',
'Tim': 'team B'}
5. Sets
Sets are unordered collections of simple objects.
Q. Does 'A' exist in set X?
Sets are unordered collections of simple objects.
X = set(['A', 'B', 'C'])
Q. Does 'A' exist in set X?
'A' in X
Result : True
Q. Does 'D' exist in set X?
'D' in X
Result : False
Q. How to add 'D' in set X?
X.add('D')
Q. How to remove 'C' from set X?
X.remove('C')
Q. How to create a copy of set X?
Y = X.copy()
Q. Which items are common in both sets X and Y?
Y & X