In this series of learning "Python for Data Science", we are going to learn various native data structures in Python. These data structures are:
- Lists and Tuples
Tuples in Python
Tuples are one of the sequence type available in Python. In this list of objects separated by "," (commas) are stored within parentheses - "(" and ")". Tuples stores elements in a ordered sequence and a tuples can not be changed.
When we want to store product prices, we can create a tuples "product_price" which stores product prices in a sequence. A tuples can store integer, float or another tuples as its element.
product_price = (12,33,25,18,45,39)
Main difference between lists and tuples is that tuples are "immutable" but lists are "mutable". Immutable means it can not be changed. If we want to change a tuple, we can create a new tuple.
Some of the common operations on tuples are:
If we were to select element of a tuple, we can use the index as elements are stored in a sequence from zero onward. Indexing is done using squared bracket "["/"]".
For accessing single elements, we can use index, we can select multiple elements using range of indexes. It gives output as another tuple.
product_price[3:5] (18, 45)
Combining Tuples or Adding sequences
We can combine multiple tuples and create another tuple.
prices_1 = (12,42,56.0, 33.75, 18.15) prices_2 = (33, 45.23, 77.56, 26.55, 22) prices_1+prices_2 (12, 42, 56.0, 33.75, 18.15, 33, 45.23, 77.56, 26.55, 22)
Operations on Tuple Elements
We can multiple with a number n and it will create another tuple with repeating original tuple with n times.
p =(12,13)<br> p1 = p*4<br> p1 (12, 13, 12, 13, 12, 13, 12, 13)
One other point is that in the tuple, element could be of different data types.
names =('Ram','John',11,'Michelle') names ('Ram', 'John', 11, 'Michelle')
Lists in Python
Similar to tuple, a list is also a sequence of ordered elements. But unlike a tuple, a list is mutable (element/s can be changed).
A list can be created using squared bracket.
product = ['Tomato','Potato','Banana','Apple'] product ['Tomato', 'Potato', 'Banana', 'Apple']
Creating a list
A list can be created as an empty list, assign a list of elements directly or using an existing list to create a new one.
# create an empty list product_list= # create a list of 5 colors colors =['Red','White','Green','Blue','Black'] # Combine two lists colors1 = ['Orange','Yellow'] colors+colors1 ['Red', 'White', 'Green', 'Blue', 'Black', 'Orange', 'Yellow'] # slice an existing list colors[2:4] ['Green', 'Blue']
We can access element/s of a list using index or range of indexes.
product = ['Tomato','Potato','Banana','Apple','Orange', 'Guava','Berry'] # Accessing first element product 'Potato' # Accessing multiple elments product[1:3] ['Potato', 'Banana']
Appending a list
We can add elements to an existing list (it can be changed/mutable). It can be done using append function.
colors =['Red','White','Green','Blue','Black'] colors.append('Orange') colors ['Red', 'White', 'Green', 'Blue', 'Black', 'Orange']
Loops on lists in Python
Scenario: we have two lists - first_name (first name) and last_name (surname) and we want to combine to create a list of full names.
- Create a list of first names
- Create a list of last names
- Define an empty list of full names with required size or length
- Run a loop for each elements and combine the element values to create a new element which will be assigned to full name list element. We should keep separator - space- between first and last name.
first_name =['Steven','Neena','Lex','Alexander','Bruce','David','Valli','Diana','Nancy','Daniel'] last_name =['King','Kochhar', 'De Haan', 'Hunold','Ernst','Austin','Pataballa','Lorentz','Greenberg','Faviet'] # create empty list fullname=['' for p in range(0,len(first_name))] # combine element of first and last name for i in range(0,len(first_name)): fullname[i]=first_name[i]+" "+last_name[i] # output ['Steven King', 'Neena Kochhar', 'Lex De Haan', 'Alexander Hunold', 'Bruce Ernst', 'David Austin', 'Valli Pataballa', 'Diana Lorentz', 'Nancy Greenberg', 'Daniel Faviet']
Next: Sets in Python (Python for Data Science Series)