Skip to main content

Python Tutorial

PYTHON DATA STRUCTURE

Data Structure is a way to organizing and storing data in computer memory so that we can access and modify it efficiently. In this post, we will learn about some cool feature of python data structure.

Python Data Structure

Python has following commonly used data structure.
  • List
  • Tuple
  • Set
  • Dictionary

List

In Python, List is the most versatile data structure which can be written as a list of comma separated values between square brackets.

Create list

#Question: Create an empty list in python
#Answer: my_first_list = [] 
#Question: Create a list containg numbers 1, 2, 3, 4, 5
#Answer:my_second_list = [1, 2, 3, 4, 5]

Insert in list

#Question: Store 1, 2, 3, 4, 5 in a list say my_list
#Answer: my_list = [1, 2, 3, 4, 5]
#Question: Store dynamic value in list say my_list. like from 5 to 1000
#Answer: 
my_list = []
for i in xrange(5, 1001):
    my_list.append(i)
my_list.append(x) insert value x at the end of the list

Access/Read list 

#Question: Read/Access/Print ith element of a list say my_list 
#Answer: print (my_list[i-1])
Slicing on list return a new list containing the requested elements
#Question: Return last three element of a list say my_list
#Answer: my_list[-3:]
#Question: return element from ith index to jth including both
#Answer: my_list[i:j]
Assignments operation are also possible using slicing and that may change the list size.
We can also concatenate two or more list by placing + symbol between them.

Traverse list

#Question: Iterate on my_list = [1, 2, 3, 4, 5]
#Answer: 
my_list = [1, 2, 3, 4, 5]
for i in my_list:
    print(i)

Delete from list

#Question: Delete 3 from my_list = [1, 2, 3, 4, 5]
#Answer: 
del my_list[2]
del keyword used to delete an element from the list. We can also use slicing to delete one or more than one element from a list at a time.

List as Stack

We can use a list as a stack (first-in-last-out) where stack.append(k) will insert k on top of stack and stack.pop() will remove the top of a stack.
my_stack = [1, 2, 3, 4, 5]
my_stackappend(0) # my_stack = [1, 2, 3, 4, 5, 0]
my_stack.pop() # my_stack = [1, 2, 3, 4, 5]
my_stack.pop() #now my_stack will be [1, 2, 3, 4]

List as Queue

It is possible to use a list as a queue (first-in-first-out) however the list is not efficient for this purpose. So to implement queue use collections.deque which has fast append and pop operation from both ends.
from collections import deque
my_queue = deque([1, 2, 3])
my_queue.append(9) # my_queue = [1, 2, 3, 9]          
my_queue.append(6) # my_queue = [1, 2, 3, 9, 6]         
my_queue.popleft() # my_queue = [2, 3, 9, 6]              
my_queue.popleft() # my_queue = [3, 6, 9]

Nested List

We can appends lists in a list to create a nested list.
my_list = []
my_list1 = [1, 2, 3]
my_list2 = [1, 2, 3, 9]          
my_list.append(my_list1)        
my_list.append(my_list2)              
#my_list = [[1, 2, 3], [1, 2, 3, 9]]

Other Operations on List

  • my_list.clear(): Remove all elements from my_list
  • my_list.copy(): Return a copy of my_list
  • my_list.count(k): Return numbers of time k appears in my_list
  • my_list.insert(i, k): Insert k at ith index
  • my_list.pop([i]): Remove ith elements of my_list
  • my_list.remove(k): Remove the first element from my_list whose value is k
  • my_list.reverse(): Reverse my_list
  • my_list.sort(): Sort my_list
  • len(my_list): Return length of my_list
  • my_list.extend(k): append sequence k to the list  
In next post we will discuss other data structure [Tuple, Set, Dictionary].

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Comments

Popular posts from this blog

Clique in Graph

Clique in Graph In this tutorial, we will learn about the clique in the graph theory. Clique In graph theory, a clique is a subset of vertices of an undirected graph such that every two distinct vertices in the clique are adjacent. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Equations

In general we frame real life problems into some mathematical formula called equations in which we use constant and some variables(unknown) Example: Ram is 12 years old.Ram 's age is 3/5 of Shyam's age what is Shyam's age. Let Shyam's age is x then 3/5 of sham's age is 3*x/5 x*3/5=12 x=60/3=20 so Shyam's age is 20. Linear equations When there is a linear combination of unknown variables is there then eqn is linear Example: 3x+ 2y+ 4z=9 Non Linear Equations: Equations in which non linear combination of the variable is there then eqn is non linear. When any 2 unknown variable multiplication present in the equation then it is the nonlinear equation. Example: 2x+5yz=98 is a nonlinear equation because yz multiplication is there: Quadratic equation in one variable: x^2 + 4*x + 2=0 is non linear because unknown variable x is being multiplied in term x^2 Quadratic equation in many variable: x^2 + y^2 +z^2 + w=0 cubic equati...

Practice Problem on Square Measurement

Practice Problem on Square Measurement What is the area of square having side length 5 unit? 25 unit 2     10 unit 25 unit 10 unit 2 What is the  perimeter of a square   having side length 5 unit? 20 unit 20 unit 2 10 unit 10 unit 2 What is the  diagonal  length of a square   having side length 5 unit? 5√2 unit     5√2 unit 2 10 unit 10 unit 2 What is the side length of square having area equal to  25 unit 2  ? 5 unit 5  unit 2 10 unit 10  unit 2 There is a petrol pump in a area having length and width equal to 500 meter. What will be cost to put bricks in the whole area if bricks having length and width equal to 5 cm and cost of 1 bricks is Rs 5? Rs 500000000 Rs 50000000 Rs 5000000 Rs 500000 Related Post:  Square Mensuration Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above. ...

Vertex Cover

Vertex Cover In this tutorial, We will learn about the vertex cover in graph theory. Vertex Cover  A vertex cover of an undirected graph is a subset of its vertices such that for every edge (u, v) of the graph, either u or v is in vertex cover i.e minimum number of vertices that covers all edges of the given graph. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.