Search
 
SCRIPT & CODE EXAMPLE
 

PYTHON

hash table in python

// a hash table in python is called a dict and can hold any hashable type as key and everything as value
// you can create one using the literal syntax like {key: value}:
dic = {"a": 1, "b": 2}
Comment

hash with python

import hashlib

name = "grepper"
hashed_name = hashlib.sha256(hashed_name.encode('utf-8')).hexdigest())
print(hashed_name)
# result: 82475175ad97f60d1e2c57ef5fd8ae45629d555e1644d6f2a37b69b550a96e95
Comment

Hash Table data structure python

"""Hash Table
THIS HASH TABLE ASSUMES THAT YOU ARE PUTTING UNIQUE KEYS WHEN YOU...
...CALL put FUNCTION, 
MAKE AN UPDATE FUNCTION IF YOU ARE PUTTING REPEATED KEYS

Included:
	- hash / rehash (using linear probe)
	- load factor
    - put
	- get

Not included:
	- Get prime/ Check prime
    - Resize
    - Update
    and more...
"""
import fractions
class HashTable:
    def __init__(self, size):
        self._size = size
        self._used = 0
        self._keys = [None]*size
        self._values = [None]*size
        
    def hash_function(self, key):
        return (key % self._size)
    
    def rehash(self, old_key):
        return self.hash_function(old_key + 1) # Linear Probe
    
    def load_factor(self):
        return fractions.Fraction(self._used, self._size)
    
    def full(self):
        return self.load_factor() == 1
    
    def put(self, key, value):
        if self.full():
            return "Full"
        
        # There is empty space
        # Get digest
        digest = self.hash_function(key)
        
        # Resolve collisions
        # Rehash if not empty or key does not exist
        while self._keys[digest] is not None and self._keys[digest] != key:
            digest = self.rehash(digest)
            
        # Don't put if key already exists
        if self._keys[digest] == key:
            return "Exists"
        
        # Finally can put in empty space
        else:
            self._keys[digest] = key
            self._values[digest] = value
            self._used += 1 # update used space counter
            return "Entered"
            
    def get(self, key):
        # Get digest
        digest = self.hash_function(key)
        
        # Within the range of the total space
        for _ in range(self._size):
            if self._keys[digest] != key:
                digest = self.rehash(digest)
            else:
                return self._values[digest]
        
        # Not found
        return "Not found"
        
# Test
from randstr import randstr
from random import randint
def HT_Test(HT):
    print(f">>> HashTable:")
    # Make keys and values
    r = randint(8, 15)
    keys = [randint(10, 100) for _ in range(r)]
    vals = list(randstr(len(keys)))
    print(f"Keys to enter: {keys}",
          f"Vals to enter: {vals}",
          f"Key-value pair: {list(zip(keys, vals))}",   # display one list with key-value pair
          sep = "
", end = "

")
    
    # Initiate Hash Table
    H = HT(len(keys) - 2)
    
    # Put the key-value pair into Hash Table
    print("Put:")
    for i in range(len(keys)):
        key, val = keys[i], vals[i]
        print(f"Key: {key}",
              f"Status: {H.put(key, val)}",
              f"Load factor: {H.load_factor()}", 
              sep = " | ")
    print()
    print(f"Keys entered: {H._keys}",
          f"Values entered: {H._vals}", 
          sep = "
", end = "

")
    
    # Get the values in Hash Table for each corresponding key
    print("Get:")
    for key in keys:
        print(f"Key: {key}",
              f"({H.get(key)})",
              sep = " | ")
Comment

hash table python

A hash table is a dictionary in python

has_table = {'key_name': key_value}
Comment

hash tables in python

hash table definition
Comment

PREVIOUS NEXT
Code Example
Python :: turn list into string 
Python :: python code to add element in list 
Python :: python def example 
Python :: python iterrows 
Python :: python variable type 
Python :: drop variable pandas 
Python :: what is thread in python 
Python :: search object in array python 
Python :: get element by index in list python 
Python :: signup 
Python :: take union of two dataframes pandas 
Python :: pandas group by to dataframe 
Python :: for loop practice problems python 
Python :: unzipping the value using zip() python 
Python :: How to append variable in Python 
Python :: list generation for python 
Python :: py 2 exe 
Python :: shutdown thread python 
Python :: python sort list by length of sublist 
Python :: Pipeline_parameters 
Python :: how to deploy to shinyapps.io 
Python :: flask example 
Python :: labelling row in python 
Python :: split one str variable into two str variable using split 
Python :: "Token" is not defined Pylance 
Python :: import 
Python :: 10.4.1.3. return Terminates Function Execution 
Python :: nlp generate parse tree in python 
Python :: int var def __init__(self,var=10): Initialize.var=var def display(): print var 
Python :: python tags 
ADD CONTENT
Topic
Content
Source link
Name
4+5 =