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.
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.
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 listAccess/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]
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 usecollections.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
Post a Comment