Python Data Structures

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 :
  1. strings
  2. lists
  3. tuples
  4. dictionaries
  5. sets

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.
mystring = "Hello Python3.6"
Hello Python3.6

Can I use multiple single or double quotes to define string?

Answer is Yes. See examples below -

Multiple Single Quotes
mystring = '''Hello Python3.6'''
Hello Python3.6
Multiple Double Quotes
mystring = """Hello Python3.6"""
Hello Python3.6

How to include quotes within a string?
mystring = r'Hello"Python"'

How to extract Nth letter or word?

You can use the syntax below to get first letter.
mystring = 'Hi How are you?'
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.

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.
  1. x = [142, 124, 234, 345, 465]
  2. y = [‘A’, ‘C’, ‘E’, ‘M’]
  3. z = [‘AA’, 44, 5.1, ‘KK’]

Get List Item

We can extract list item using Indexes. Index starts from 0 and end with (number of elements-1).

Syntax : list[start : stop : step]
  1. start : refers to starting position.
  2. stop : refers to end position.
  3. step : refers to increment value.

k = [124, 225, 305, 246, 259]



Explanation :
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]
k[0:3] also returns [124, 225, 305]
k[::-1] reverses the whole list and returns [259, 246, 305, 225, 124]

Sort list
sorted(list) function arranges list in ascending order.
sorted(list, reverse=True) function sorts list in descending order.
sorted(k) returns [124, 225, 246, 259, 305]
sorted(k, reverse=True) returns [305, 259, 246, 225, 124]
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
[6, 7, 8, 9, 10]

It can also be written like this -
for i in range(len(x)):
   x[i] += 5

Combine / Join two lists

The '+' operator is concatenating two lists.
X = [1, 2, 3]
Y = [4, 5, 6]
Z = X + Y
[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)
[5 7 9]
Similarly, you can use np.multiply(X, Y) to multiply values of two list.

Repeat List N times

The '*' operator is repeating list N times.
X = [1, 2, 3]
Z = X * 3
[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]
[1, 2, 5]

Add / Remove a list item

We can add a list item by using append method.
X = ['AA', 'BB', 'CC']
Result : ['AA', 'BB', 'CC', 'DD']

Similarly, we can remove a list item by using remove method.
X = ['AA', 'BB', 'CC']
Result : ['AA', 'CC']

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 [ ]

mytuple = (123,223,323)
City = ('Delhi','Mumbai','Bangalore')
Perform for loop on Tuple
for i in City:

Tuple cannot be altered

Run the following command and check error
X = (1, 2, 3)
TypeError: 'tuple' object does not support item assignment

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.
teams = {'Dave' : 'team A',
         'Tim' : 'team B',
         'Babita' : 'team C',
         'Sam' : 'team B',
         'Ravi' : 'team C'

Extract Keys and Values of Dictionary

teams.keys() returns dict_keys(['Dave', 'Tim', 'Babita', 'Sam', 'Ravi'])
teams.values() returns dict_values(['team A', 'team B', 'team C', 'team B', 'team C'])

Find Values of a particular key
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.
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?
Q. How to remove 'C' from set X?
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
Love this Post? Spread the Word!
Comment and share to motivate us to write more!
About Author:

Deepanshu founded ListenData with a simple objective - Make analytics easy to understand and follow. He has over 8 years of experience in data science. During his tenure, he has worked with global clients in various domains like Banking, Insurance, Telecom and Human Resource.

Get Free Email Updates :
*Please confirm your email address by clicking on the link sent to your Email*
Related Posts:
14 Responses to "Python Data Structures"

  1. I believe there are many more pleasurable opportunities ahead for individuals that looked at your site.

    Selenium Training in Porur

  2. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here.
    RPA Training in Bangalore

  3. Thanks a lot very much for the high quality and results-oriented help. I won’t think twice to endorse your blog post to anybody who wants and needs support about this area.

    UI Path Training in Bangalore

  4. This comment has been removed by the author.

  5. Thanks for Kanhasoft is the best Python Web Development Company in India. Hire Dedicated Django Developer over 5 years of experience with affordable rates.

  6. UiPath Training in Bangalore by myTectra is one the best UiPath Training. myTectra is the market leader in providing Robotic Process Automation on UiPath
    ui path training in bangalore

  7. Wow, Nice blog. Thank you so much for the efforts of this blog. Visit for
    Europe Honeymoon Packages

  8. Hey, would you mind if I share your blog with my twitter group? There’s a lot of folks that I think would enjoy your content. Please let me know. Thank you.
    AWS Training in Chennai
    Data Science Training in Chennai
    Python Training in Chennai

  9. It has been simply incredibly generous with you to provide openly what exactly many individuals would’ve marketed for an eBook to end up making some cash for their end, primarily given that you could have tried it in the event you wanted.
    Data Science Training in Chennai | Best Data Science Training in Chennai
    Python Training in Chennai | Best Python Training Institutes in Chennai
    RPA Training in Chennai | Best RPA Training in Chennai
    Digital Marketing Training in Chennai | Best Digital Marketing Training in Chennai

  10. I feel happy to say this I will deeply learn your blog and it’s really useful for me, keep sharing like this type valuable information regularly, I like to thanks for sharing this superb blog I hope I see you soon again time, thank you so much.
    honor mobile service centre
    honor service center chennai
    honor service center in chennai


We have Zero Tolerance to Spam. Comments with links will be deleted immediately upon our review.

Next → ← Prev
Scroll to Top