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

OFFSET in Computer Science

OFFSET in Computer Science In the post, We will understand what is the meaning of OFFSET in computer science with an example. In computer science offset comes picture at may place like packing a data structure, encoding the data etc in some standard protocol so that other parties can deserialise it and understand the data. We will understand its important how does it work with example. suppose we have a data structure for a student like { name:string[20] roll: int[4] course: string[25] batch: int[4] } We want to serialise below student data  { name:"Amit Gupta" roll: 1234 course:Computer Science" batch: 2018 } Our protocol follow the rule that we will insert a value and if space will remain empty we will fill it with $ for example length of "Amit Gupta" is 10 but standard size is 20 so will fill 10 $ after "Amit Gupta". So serialisation of above data will be Amit Gupta$$$$$$$$$$1234Computer Sc...

Pointer In C Programming Language

Pointer In C Programming Language In this post, We will learn about pointer in C programming language. Introduction Pointers in C programming language is a variable that stores the memory address of another variable. A pointer in C is used to allocate memory dynamically i.e. at runtime. The pointer variable might be belonging to any of the data types such as int, float, char, double, short etc. Important Points About Pointer in C: Pointer stores the address of a variable whereas a normal variable stores the value.   The content of the C pointer always be a whole number i.e. address. Default C pointer is initialized to null, i.e. int *p = null. The value of the null pointer is 0. & symbol is used to get the address of the variable. * symbol is used to get the value of the variable that the pointer is pointing to. If a pointer in C is assigned to NULL, it means it is pointing to nothing. Two pointers can be subtracted to know how many elements are available...

Convert String To Byte Array in Python

Convert String To Byte Array in Python In this post, We will learn how to convert a string into a byte array in python programming language. def string_to_byte_array(string): byteArray = [] for c in string: byteArray = byteArray.append(ascii(c)) print (string_to_byte_array("Rozgardesh")) Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.