Collections Part Two In Python Programming

We are in the 2nd part of the collection module series, we will learn a little more features in this section and we will continue to learn the important features before moving on to the last section.

In this section, we will learn the concepts of Deque, UserDict, UserList, UserString. We will also give examples of these concepts.

Deque In Collections

The Deque class offers features that make adding and removing operations easier, thanks to this class you can perform smarter object addition and removal.

from collections import deque

x = deque(["xyz","abc","asd"]) # Syntax

Now we will see two useful functions for adding operations. Which will be “append” and “appendleft”, which are also in the same lists, let’s use them in the code.

x.append("a") # Adding in End
x.leftappend("b") # Adding in First Index
Output:
deque(["xyz","abc","asd","a"])
deque(["b" , "xyz" , "abc" , "asd" , "a"])

Of course, this is not our only feature, let’s examine the functions used to delete objects.

x.pop() # Delete Element In End Index
x.leftpop() # Delete Element In First Index

UserDict In Collections

UserDict is a dictionary-like container that acts as a wrapper around the dictionary objects. This container is used when someone wants to create their own dictionary with some modified or new functionality.

You can see this object as a protection tool, you can change the functioning of the functions used with the dictionaries yourself, and even disable some functions.

from collections import UserDict 

class Dict(UserDict):
   def pop(self, s = None):
       print("Disabled") # You can change this code

x = Dict({"a": 1 , "b": 2 , "c": 4})
x.pop("a")
Output:
Disabled

UserList In Collections

UserList is a list like container that acts as a wrapper around the list objects. This is useful when someone wants to create their own list with some modified or additional functionality.

Yes, the next ones to be examine are classes that have the same properties but affect different objects.

from collections import UserList  
     
class List(UserList):  
    def AddCenter(self, adding):
        count = -1
        for i in self:
            count += 1
        
        self[int(count / 2)] = adding

 
d = List([1 , 2 , 3 , 4 , 5]) 
    
d.AddCenter("x")
print(d)
[1, 2, 'x', 4, 5]

Yes, the good side of these objects is to be able to create your own functions. I wrote a function that I will use when I want to add value to myself, you can write your own functions.

UserString In Collections

Yes, we now understand the concepts such as UserList, UserDict, besides, UserString performs the same task, the only difference is that it takes a String value.

from collections import UserString  
     
class String(UserString):  
    def add(self , s = ""):
        self.data += s

x = String("")
x.add("Welcome to the My Master Designer")

print(x)
Output:
Welcome to the My Master Designer

Leave a Reply

Your email address will not be published. Required fields are marked *